Помогите решить ошибку в Pascal. Проблема в следующем: Надо посчитать ненулевые элементы...

0 голосов
23 просмотров

Помогите решить ошибку в Pascal. Проблема в следующем: Надо посчитать ненулевые элементы массива, которые я задаю рандомно. Считает верно, но не берёт условие if (i<>0) во внимание. Просьба программу не переписывать под себя, просто исправить на то, как это должно выглядеть. program x; const n=7; var range: array[1..n] of integer; i,z: integer; begin z:=1; for i:=1 to n do range[i]:=random(6)-2; for i:=1 to n do write (range[i]:3); for i:=1 to n do if (i<>0) then z:=z*range[i]; writeln; writeln('Произведение ненулевых элементов: ',z); end.


image

Информатика (80 баллов) | 23 просмотров
0

Чего бы оно брало во внимание i<>0, когда Вы с единицы начинаете цикл?

0

А еще забавно, что Вы хотите считать ненулевые элементы массива, а вместо этого указываете нулевой индекс ))

0

if (range[i]<>0) then z:=z*range[i];

0

Спасибо, понял в чём была ошибка)

0

Пожалуйста

Дан 1 ответ
0 голосов
Правильный ответ

строку   if (i<>0)  .....        заменить на     if (range[i]<>0)  .......


image
(87.0k баллов)