Вопрос задан 08.01.2020 в 23:45. Предмет Информатика. Спрашивает Пак Елизавета.

Var a:array[1..10] of integer; i,m,max:integer; begin randomize; m:=0; for i:=1 to 10 do begin a[i]

random(50); writeln('a[',i,']=',a[i]); end; max:=a[1]; for i:=2 to 10 do if a[i]>max then max:=a[i]; for i:=1 to 10 do if a[i]=max then m:=m+1; writeln(m); end. почему в этой строчке a[i] random(50); пишет Ожидалось имя процедуры или функции
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Чумаков Арсений.
Вот так напиши строчку a[i] := random(50);
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В данном коде ошибка возникает потому, что оператор random(50) не может быть использован в качестве значения для элемента массива a[i]. Оператор random(50) является процедурой, а не функцией, и в данном случае ожидается использование функции, возвращающей значение.

Чтобы исправить ошибку, можно использовать функцию RandomRange(0, 50), которая возвращает случайное целое число в заданном диапазоне. Исправленный код будет выглядеть следующим образом:

Var a: array[1..10] of integer; i, m, max: integer; begin randomize; m := 0; for i := 1 to 10 do begin a[i] := RandomRange(0, 50); writeln('a[', i, '] = ', a[i]); end; max := a[1]; for i := 2 to 10 do if a[i] > max then max := a[i]; for i := 1 to 10 do if a[i] = max then m := m + 1; writeln(m); end.

Теперь код будет корректно выполняться и выводить количество элементов массива, равных максимальному значению.

0 0

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

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

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