
Прокопий
6 год назад
Выдает ошибку: pas(19) : Встречено '.', а ожидалось ';', helpp.Program Boon;uses crt;var k: integer;i: integer;c: ARRAY[1..100] of real;function ODD:integer;Begin;writeln('Массив имеет вид');for i:=1 to 15 doBegin;c[i]:=random(150)/(random(51-1));writeln(c[i]:5:2);End;k:=0;fori:=1 to 15 doif Odd(c[i]) and c[i]>0 thenk:=k+1;writeln('Количество непарных отрицательных чисел',k);End.
ОТВЕТЫ

Flater Gerburg
Oct 24, 2020
Тут есть несколько ошибок:
1. Отсутствует ключевое слово begin в основной программе. Насколько я понял, оно должно стоять перед k:=0.
2. Внутри функции ODD не объявлена локальная переменная i, которая используется в цикле.
3. В основной программе вы вызываете функцию ODD и передаете ей аргумент с[i], хотя в описании функции аргумент не обозначен.
4. В функции ODD происходит обработка глобального массива C, что делать нельзя.
5. Функция должна возвращать какое-то значение. В описании вы указали integer, а в основной программе в строке if Odd(c[i])... вы подразумеваете, что оно должно быть булевым, т.е. или True или False.
Исправьте, и может быть (если ошибок больше нет) программа заработает.
1. Отсутствует ключевое слово begin в основной программе. Насколько я понял, оно должно стоять перед k:=0.
2. Внутри функции ODD не объявлена локальная переменная i, которая используется в цикле.
3. В основной программе вы вызываете функцию ODD и передаете ей аргумент с[i], хотя в описании функции аргумент не обозначен.
4. В функции ODD происходит обработка глобального массива C, что делать нельзя.
5. Функция должна возвращать какое-то значение. В описании вы указали integer, а в основной программе в строке if Odd(c[i])... вы подразумеваете, что оно должно быть булевым, т.е. или True или False.
Исправьте, и может быть (если ошибок больше нет) программа заработает.
365
Смежные вопросы: