|
|
zadach499.PAS |
|
{* Задача 499 *}Unit ZADACH499;Interface Implementation Begin writeln(' Опросили 20 подписчиков. Каждый из них назвал 3 любимые газеты. Напечатать пронумерованный список первых 10 наиболее популярных газет, расположив названия газет в списке в порядке уменьшения числа, отданных за них голосов. Предусмотреть, что каждый из опрашиваемых должен назвать 3 разные газеты.'); End. Program zadach499; Uses zadach499.pas; {* Эту строку можно удалить *} Uses crt; {* Подключаем внешние файлы *} Var {* В работе нам потребуются переменные: *} i : integer; j : integer; k : integer; t : integer; m : integer; l : boolean; s : String; g : Array [1..20, 1..3] Of String; g1 : Array [1..60] Of String; x1 : Array [1..60] Of integer; Begin clrscr; {* Стираем всё с экрана *} writeln ( 'VVedite rezultati oprosa'); t := 1; For k := 1 To 20 Do {* Увеличиваем k от 1 до 20 с шагом 1 *} Begin writeln('Vvedite lubimie gazeti ' , k, '-ogo podpischika'); readln(g[k, 1] ); Repeat l := false; readln(g[k, 2]); If (g[k, 2]) = (g[k, 1] ) Then Begin writeln ('Vvedite drugoe nazvanie gazeti'); l := true; End; Until l = false; Repeat l := false; readln(g[k, 3]); If (g[k, 3] = g[k, 2]) Or (g[k, 3] = g[k, 1]) Then Begin writeln ('Vvedite drugoe nazvanie gazeti'); l := true; End; Until l = false; For i := 1 To 3 Do {* Переменная i увеличивается с 1 до 3 *} Begin If (i = 1) And (k = 1) Then Begin g1[1] := g[1, 1]; x1[1] := 1; End; Else Begin For j := 1 To t Do {* Цикл для j => [1 .. t] *} If g [k, i] = g1[j] Then Begin x1[j] := x1[j] + 1; l := true; End; If l = false Then Begin g1[t + 1] := g[k, i]; x1[t + 1] := 1; t := t + 1; End; End; End; End; For i := 1 To t Do {* Увеличиваем i от 1 до t с шагом 1 *} Begin m := x1[i]; k := i; For j := i + 1 To t Do If x1[j] > m Then Begin m := x1[j]; k := j; End; If k i Then Begin m := x1[i]; s := g1[i]; x1[i] := x1[k]; g1[i] := g1[k]; x1[k] := m; g1[k] := s; End; End; writeln; {* Вывод пустой строки *} writeln ('spisok 10 samih populyarnih gazet'); For i := 1 To 10 Do {* Переменная i увеличивается с 1 до 10 *} writeln (i, '.', g1[i], ' ', x1[i], 'golosov'); End.. 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|