|
#1
|
|||
|
|||
Задача в Delphi
Текст задачи:
Государственный комитет статистики РФ оценил IQ студентов по 32000-бальной шкале. Далее решили выяснить, есть ли такой IQ, который преобладает в студенческой среде, то есть тот, который встречается более чем N/2 раз, где N – количество студентов в России, N<400000. Составить программу, которая помогла бы это сделать. Исходные данные: Файл исходных данных содержит не более 400000 строк, в каждой из которых записано одно целое число из диапазона от 0 до 32000. Выходные данные: Записать в выходной файл НЕТ РЕШЕНИЯ, если нет преобладающего IQ или его значение в противном случае. Помогите плз. |
#2
|
||||
|
||||
Код:
var count, n, best: integer; iq: array of integer; f: TextFile; begin AssignFile(f, 'input.txt'); Reset(f); SetLength(iq, 32001); for n := 0 to 32000 do iq[n] := 0; count := 0; while not Eof(f) do begin Readln(f, n); inc(iq[n]); inc(count); end; CloseFile(f); count := count div 2; best := 0; for n := 0 to 32000 do if iq[n] >= count then if iq[n] > best then best := iq[n]; AssignFile(f, 'output.txt'); Rewrite(f); if best <> 0 then Writeln(f, best) else Writeln(f, 'НЕТ РЕШЕНИЯ'); CloseFile(f); Readln; end. Последний раз редактировалось BoRoV, 08.12.2010 в 20:30. |
#3
|
|||
|
|||
спасибо тебе большое. только при нажатии кнопки выскакивает i\o error'ы 104 и 32, но с этим я разберусь надеюсь.
|