07.06.2008, 17:58
общий
это ответ
Здравствуйте, Proks!
У Вас несколько ошибок:
Правильнее будет не так: Writeln(\‘ ------------------------------------ \‘), а так Writeln(‘\ ------------------------------------ \‘)
Вы ввели символ ‘\‘ не в кавычках в нескольких местах программы.
Вы пишете:
<b>For</b> i:=1 <b>to</b> 30 <b>do</b>
<b>If</b> a[i] < sm <b>then</b> Writeln(<FONT COLOR=BLUE>n</font>,‘\ Aprelya\‘);
И соответственно у Вас всегда выводится:
<font color=green>
31 \ Aprelya\
31 \ Aprelya\
31 \ Aprelya\
...
</font>
Это потому что вы выводите переменную n, которая хранит не число месяца, она используется при выводе массива.
Вам надо вывести число месяца, а его хранит переменная i, которая используется при сравнении температур со среднемесячной. Вот правильный вариант:
<b>For</b> i:=1 <b>to</b> 30 <b>do</b>
<b>If</b> a[i] < sm <b>then</b> Writeln(i,‘\ Aprelya\‘);
Я рискнул заново сделать вашу задачу, она с объяснениями в приложении.
Удачи!!!
Приложение:
program PR10Z1;{$APPTYPE CONSOLE}Var {массив температур} a: array [1..30] of integer; {i-счетчик для For, sum-сумма температур, count-кол-во дней когда температура была ниже средней} i, sum, count: integer; {Средняя температура} sr: real;begin {Инициализируем генератор случайных чисел} randomize; {Обнуляем сумму и кол-во} sum:=0; count:=0; {В цикле перебираем весь массив и...} for i:=1 to 30 do begin {...Заполняем его сл. числами} a[i]:=random(15)-5; {Выводим температуру} Writeln(‘April ‘, i:2, ‘: ‘, a[i]:2); {Прибавляем к сумме для выч. средней температуры} sum:= sum + a[i]; end; {Вычисляем среднюю} sr:=sum/30; {Выводим сумму температур и среднюю температуру} WriteLn(‘Summa T: ‘, sum); WriteLn(‘Srednaa T: ‘, sr:6:3); {В цикле проверяем,} for i:=1 to 30 do {ниже ли температура среднемесячной} if a[i] < sr then begin {Если да, то выводи её} WriteLn(‘April ‘, i, ‘: ‘, a[i]:2); {И увеличиваем на 1 счетчик} inc(count); end; {Выводим кол-во дней когда температура была ниже среднемесячной} WriteLn(‘Temperature of ‘, count, ‘ days was under ‘, sr:6:3); readln;end.