Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Пример правильной и эффективной программы на языке Паскаль:
- Var N, Num, i, j, t: integer;
- Count: array[1..11] of integer;
- s: string;
- Names: array[1..11] of string;
- Begin
- Num:=0; {Число различных задач в списке запросов}
- ReadLn(N); {Считываем количество запросов}
- for i:=1 to N do
- begin
- ReadLn(S); {считали очередную задачу}
- {Осуществляем ее поиск в списке уже встретившихся}
- j:=1;
- while (j<=Num) and (s<>Names[j]) do j:=j+1;
- {Если она найдена}
- if j<=Num then {Увеличиваем счетчик числа запросов}
- Count[j]:=Count[j]+1
- else begin {Иначе добавляем задачу в конец списка}
- Names[j]:=s;
- Count[j]:=1;
- Num:=Num+1
- end
- end;
- {Сортируем массивы Names и Count в порядке убывания значений
- массива Count}
- for i:=Num downto 2 do
- for j:=2 to i do if Count[j-1]<Count[j] then
- begin
- t:=Count[j]; Count[j]:=Count[j-1]; Count[j-1]:=t;
- s:=Names[j]; Names[j]:=Names[j-1]; Names[j-1]:=s;
- end;
- if Num >= 3 then j := 3 else j := Num;
- i := 1;
- while (i <= Num) and (Count[i] >= Count[j]) do
- begin
- WriteLn(Names[i], ' ', Count[i]);
- i := i + 1;
- end
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement