Текст задания
В файл 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
Результат работы программы

