Текст задания
В файл f1 записаны фамилии участников шахматного турнира. В файл f2 – результаты игр в виде матрицы (2 – выигрыш, 1 – ничья, 0 – проигрыш). Вывести на экран призёров турнира, занявших первое, второе и третье места.
Исходный код программы
Program Zad3; uses crt; var f1, f2: text; {файловые переменные} i,j,n,k:integer; {счетчики} Fam: array [1..100] of String; {массив для хранения фамилий} table: array [1..100] of String; {массив для хранения строк таблицы} Schet: array [1..100] of integer; {массив для хранения суммы баллов} bal:integer; {переменная для хранения промежуточных вычислений} begin clrscr; {очистка экрана} Assign(f1,'file1.txt'); {считывание из файла фамилий участников турнира} Reset(f1); n:=0; i:=1; While Not EoF(f1) do begin Readln(f1,fam[i]); i:=i+1; end; Close(f1); n:=i; {запоминаем количество участников} Assign(f2,'file2.txt'); {считывание из файла таблицы результатов} Reset(f2); i:=1; While Not Eof(f2) do begin Readln(f2, table[i]); i:=i+1; end; Close(f2); For i:=1 to n do {подсчитываем сумму баллов в каждой строке таблицы} begin For j:=1 to n do begin val(copy(table[i],j,1),bal,bal); Schet[i]:=Schet[i]+bal; end; end; {Выбираем трех победителей} For i:=1 to 3 Do begin bal:=Schet[i]; {во временную переменную ложим i-e значение суммы балов} k:=i; For j:=i to n do {пробегаем по оставшимся суммам для определения максимальной} begin if Schet[j]>bal then begin bal:=Schet[j]; k:=j; end; end; Writeln(i,'. ',fam[k],' ',Schet[k],' ballov'); {выводим фамилию и количество баллов} end; readln; end.
Содержимое исходных файлов
файл file1.txt:
Ivanov
Petrov
Sidorov
Andreev
Mihailov
Nikolaev
Petrovich
файл file2.txt:
0122222
1012122
0102201
0100200
0102020
0022000
0012220