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