Вопрос задан 22.10.2026 в 16:56. Предмет Информатика. Спрашивает Минаков Женя.

Program z17;
const n = 60;
var c: array [1..n] of integer;
k, i:integer;
Begin
randomize;
k:=0;
for i:=1 to n do
c:= random (21)-10;
if i mod 4 = 0 then
if c=0 then
k:=k+c[i];
end;
end;
end;
writeln (k);
end.

Ошибка: попытка присвоить переменной типа array [1..60] of integer выражение типа integer

может я криворукий, но какого чёрта переменной типа integer нелбзя присвоить выражение типа integer

Перейти к ответам

Ответы на вопрос

Отвечает Шевченко Кирилл.

Ошибка в строке c := random(21) - 10: \(c\) — это весь массив, а число можно записать только в его отдельную ячейку: c[i] := random(21) - 10.

Условия тоже должны находиться внутри цикла:

for i := 1 to n do
begin
  c[i] := random(21) - 10;
  if (i mod 4 = 0) and (c[i] = 0) then
    k := k + c[i];
end;

Но при таком условии \(c[i]=0\), поэтому к \(k\) всегда прибавляется \(0\). Итоговое значение \(k\) будет равно \(0\). Возможно, в условии или действии должна быть другая проверка.

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос