Предмет: Информатика, автор: vdvoin1488

Пришло время проверить, правильным ли было решение инвестировать деньги в заводы. Вы решаете приехать на один из заводов с инспекцией и проверить шестеренки, изготавливаемые там. Проверка проста - у всех шестеренок должен быть одинаковое количество зубцов.
Формат входных данных
Вводится целое положительное число n, где n - количество деталей для проверки (2 < n < 1000)

Вводится n целых чисел m, где m - количество зубцов у каждой шестеренки (1 < m < 100)

Формат выходных данных
Выводится сообщение YES в случае, если количество зубцов у всех шестеренок оказалось одинаковым и NO, если хотя бы одна из них имеет отличное от других количество зубцов

Помогите найти ошибку
var
n,s,i,m,m1:int64;
begin
s:=0;
Read(n,m1);
For i:=1 to n-1 do begin
Read(m);
if m = m1 then
S:=s+1;
m:=m1;
end;
if s = n or m1 then begin
Write('YES');
end;
if s <> n or m1 then
Write('NO');
end.

ДАЮ 45 БАЛЛОВ!!!!

Ответы

Автор ответа: pusaxe
0

//Ошибка в if.

//В принципе можно обойтись и без вычисления s. Просто

//прерывать  цикл при несовпадении двух шестеренок и

//выводить NO

var

 n, s, i, m, m1: int64;

begin

 s := 0;

 Read(n, m1);

 for i := 1 to n - 1 do

 begin

   Read(m);

   if m = m1 then

     S := s + 1;

   m := m1;

 end;

 if (s = n - 1) then  

   Write('YES');

 if (s <> n - 1) then

   Write('NO');

end.

Похожие вопросы