
Нет индексного свойства по умолчанию для типа 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.

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

Ответ:
1. Если уж массив ВЕЩЕСТВЕННЫХ чисел, то не integer, a real
(Var Mas: Array[1..10] of real)
2. Переменные считываются по Enter а не по пробелу
(Writeln(' Введите ',N,' вещественных чисел через Enter');
Посмотрел дальше, это вообще жесть. Весь код надо полностью переписывать. Задачу лучше напиши что: сделать надо



Вы указали, что нет индексного свойства по умолчанию для типа byte
. Однако, в вашем коде вы используете byte
в качестве индекса массива. Это вполне допустимо, и я предполагаю, что вы хотели создать массив Mas
с индексами от 1 до 10.
Тем не менее, в вашем коде есть несколько ошибок, которые нужно исправить:
В строке
For i:=1 to N do read(N[i]);
вы пытаетесь прочитать значения в массивN
, вместо массиваMas
. Исправьте эту строку наFor i:=1 to N do read(Mas[i]);
.В строке
For i:=1 to K do If M[i]>0 then S:=S+M[i];
вы используете переменнуюK
, вместоN
, которую вы объявили для хранения количества элементов массива. ЗаменитеK
наN
, чтобы исправить эту ошибку.
После внесения этих исправлений, ваш исправленный код будет выглядеть следующим образом:
pascalprogram 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.
После этих исправлений код должен работать правильно, считывая вещественные числа в массив и вычисляя сумму положительных чисел.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili