![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
procedure TForm1.FormActivate(Sender: TObject);
Begin
tabl.Cells[0,0] ='Страна';
tabl.Cells[1,0] ='Золотых';
tabl.Cells[2,0] ='Серебряных';
tabl.Cells[3,0] ='Бронзовых';
tabl.Cells[4,0] ='Bcero';
tabl.Cells[5,0] ='Баллов';
tabl.Cells[0,1] ='Австралия';
tabl.Cells[0,2] ='Белоруссия';
tabl.Cells[0,3] ='Великобритания';
tabl.Cells[0,4] ='Германия';
tabl.Cells[0,5] ='Италия';
tabl.Cells[0,6] ='Китай';
tabl.Cells[0,7] ='Корея';
tabl.Cells[0,8] ='Куба';
tabl.Cells[0,9] ='Нидерланды';
tabl.Cells[0,10]— 'Россия';
tabl.Cells[0,ll]:='США';
tabl,Cells[0,12]:='Франция';
tabl.Cells[0,13]:='Япония'; end;
Программа обработки исходной таблицы (листинг 5.12) запускается щелчком мыши на командной кнопке Итоги (Button1).
Листинг 5.12. Обработка двумерного массива
procedure TForm1.Button1Click(Sender: TObject);
Var
c,r:integer; // номер колонки и строки таблицы
s:integer; // всего медалей у команды
р:integer; // очков у команды
m:integer; // номер строки с максимальным количеством очков
buf: array [0..5] of string; // буфер для обмена строк
i:integer; // номер строки. Используется во время сортировки
Begin
for r:=1 to tabl.rowcount do // обработать все строки
begin s:=0;
// вычисляем общее кол-во медалей
for c:=1 to 3 do
if tabl.cells[c,r] <>''
then s:=s+StrToInt(tabl.cells[c,r])
else tabl.cells[c,r]:='0'; // вычисляем количество очков
p:=7*StrToInt(tabl.cells[l,r])+ 6*StrToInt(tabl.cells[2, r])
+ 5*StrToInt(tabl.cells[3,r]};
// вывод результата
tabl.cells[4,r]:=IntToStr(s); // всего медалей
tabl.cells[5,r]:=IntToStr(p); // очков
end;
// сортировка таблицы по убыванию в соответствии
// с количеством баллов (по содержимому 5-го столбца)
// сортировка методом выбора
for r:=1 to tabl.rowcount-1 do
Begin
m:=r; // максимальный элемент — в r-й строке
for i:=r to tabl.rowcount-1 do
if StrToInt(tabl.cells[5,i])>StrToInt(tabl.cells[5,m])
then m:=i;
Дата публикования: 2015-01-14; Прочитано: 156 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!