|  | 
 
 | 
| 
			 
			#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, но с этим я разберусь надеюсь. |