Вопрос задан 12.06.2023 в 19:01. Предмет Информатика. Спрашивает Брайловский Виктор.

Нет индексного свойства по умолчанию для типа byte program bankai; Uses crt; {Подключение

стандартного модуля TP} Var Mas: Array[1..10] of integer; {Описание массива вещественных чисел} S:real; {описание переменной для хранения суммы} i,N:byte; begin Clrscr; {Очистка экрана} Write(' Введите число элементов в массиве К ='); Readln(N); Writeln(' Введите ',N,' вещественных чисел через пробел'); For i:=1 to N do read(N[i]); { Ввод чисел} writeln; S:=0.0; { Присвоение начального значения суммы} For i:=1 to K do If M[i]>0 then S:=S+M[i]; { Суммирование положительных чисел} Writeln(' S = ',S); { Вывод полученной суммы} End.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Козко Софья.

Ответ:

1. Если уж массив ВЕЩЕСТВЕННЫХ чисел, то не integer, a real

(Var Mas: Array[1..10] of real)

2. Переменные считываются по Enter а не по пробелу

(Writeln(' Введите ',N,' вещественных чисел через Enter');

Посмотрел дальше, это вообще жесть. Весь код надо полностью переписывать. Задачу лучше напиши что: сделать надо

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вы указали, что нет индексного свойства по умолчанию для типа byte. Однако, в вашем коде вы используете byte в качестве индекса массива. Это вполне допустимо, и я предполагаю, что вы хотели создать массив Mas с индексами от 1 до 10.

Тем не менее, в вашем коде есть несколько ошибок, которые нужно исправить:

  1. В строке For i:=1 to N do read(N[i]); вы пытаетесь прочитать значения в массив N, вместо массива Mas. Исправьте эту строку на For i:=1 to N do read(Mas[i]);.

  2. В строке For i:=1 to K do If M[i]>0 then S:=S+M[i]; вы используете переменную K, вместо N, которую вы объявили для хранения количества элементов массива. Замените K на N, чтобы исправить эту ошибку.

После внесения этих исправлений, ваш исправленный код будет выглядеть следующим образом:

pascal
program bankai; uses crt; var Mas: array[1..10] of integer; S: real; i, N: byte; begin Clrscr; Write('Введите число элементов в массиве N = '); Readln(N); Writeln('Введите ', N, ' вещественных чисел через пробел'); for i := 1 to N do read(Mas[i]); // Ввод чисел writeln; S := 0.0; for i := 1 to N do if Mas[i] > 0 then S := S + Mas[i]; // Суммирование положительных чисел Writeln('S = ', S); // Вывод полученной суммы end.

После этих исправлений код должен работать правильно, считывая вещественные числа в массив и вычисляя сумму положительных чисел.

0 0

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

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

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

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