Золотые Серебряные Бронзовые
Буревестник 4 4 4
Динамо 2 4 3
Зенит 6 4 4
Спартак 3 3 4
Программа считывает исходные данные, вводимые с клавиатуры, вычисляет общее количество медалей и затем расставляет клубы по порядку в соответ-
ствии с общим количеством медалей. Для представления данных о
количестве медалей используется двумерный массив medal, количество строк которого на единицу больше, чем количество клубов, а количество столбцов на единицу больше, чем видов медалей. Дополнительный столбец используется
для хранения общего количества медалей, которое вычисляется после ввода исходных данных, а дополнительная строка — как буфер при обмене строк во время сортировки строк таблицы.
{ Обработка результатов соревнований }
Const
NC = 4; { число клубов- участников }
Var
club:array[1..NC + 1] of string[30]; {клуб }
medal:array[1..NC+1,1..4] of integer; {количество медалей }
m:integer;
i,j:integer;
Begin
club[1]:='Буревестник';
club[2]:='Динамо ';
club[3]:='Зенит ';
club[4]:='Спартак ';
writeln('Для каждой команды в одной строке введите через пробел');
writeln('число золотых, серебряных и бронзовых медалей');
writeln('и нажмите <Enter>' );
for i:=1 to NC do
Begin
write (club[i], ' ');
readln (medal[i,1],medal[i,2],medal[i,3]);
End;
{ подсчет общего количества медалей}
for i:=1 to NC do
Begin
medal[i,4]:=0;
for j:=1 to 3 do
medal[i,4]:= medal[i,4]+medal[i,j];
End;
{ сортировка таблицы }
for i:=1 to NC-1 do
Begin
{ найти строку, в которой максимально общее число число
медалей}
m:=i;
for j:=i+1 to NC do
if medal[j,4]>medal[m,4] then m:=j;
{обменяем i- строку с m-й }
club[NC+1]:=club[i];
club[i]:=club[m];
club[m]:=club[NC+1];
forj:=1 to 4 do
Begin
medal[NC+1,j]:=medal[i,j];
medal[i,j]:=medal[m,j];
medal[m,j]:=medal[NC+1,j];
End;
End;
{ вывод итоговой таблицы }
writeln;
writeln(' Клуб Золотые Серебряные Бронзовые Всего');
writeln('** Итоговая таблица **');
for i := 1 to NC do
Begin
write(i:2,'. ',club[i]);
for j:=1 to 4 do
write(medal[i,j]:11);
writeln;
end;
End.
Пример работы программы:
Для каждой команды в одной строке введите через пробел
число золотых, серебряных и бронзовых медалей
и нажмите <Еnter> ;
Буревестник 4 4 4
Динамо 2 4 3
Зенит 6 4 4
Спартак 3 3 4
** Итоговая таблица **
Клуб Золотые Серебряные Бронзовые Всего
1. Зенит 6 4 4 14
2. Буревестник 4 4 4 12
3. Спартак 3 3 4 10
4. Динамо 2 4 3 9
Дата добавления: 2015-01-13; просмотров: 877;