Выдает ошибку: 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 do begin; c[i]: =random(150)/(random(51-1)); writeln(c[i]: 5: 2); end; k: =0; for i: =1 to 15 do if odd(c[i]) and c[i]> 0 then k: =k+1; writeln('количество непарных отрицательных чисел',k); end.

8огонь8 8огонь8    1   09.09.2019 11:20    1

Ответы
tamila2002саша2004 tamila2002саша2004  07.10.2020 03:00
Тут есть несколько ошибок:
1. Отсутствует ключевое слово begin в основной программе. Насколько я понял, оно должно стоять перед k:=0.

2. Внутри функции ODD не объявлена локальная переменная i, которая используется в цикле.

3. В основной программе вы вызываете функцию ODD и передаете ей аргумент с[i], хотя в описании функции аргумент не обозначен.

4. В функции ODD происходит обработка глобального массива C, что делать нельзя.

5. Функция должна возвращать какое-то значение. В описании вы указали integer, а в основной программе в строке if Odd(c[i])... вы подразумеваете, что оно должно быть булевым, т.е. или True или False.

Исправьте, и может быть (если ошибок больше нет) программа заработает.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика