04.02.2009, 13:23
общий
это ответ
Здравствуйте, Давыдов Артём Аркадьевич!
Вот решение с использованием типа записи, более эффективное, лишь один массив.
Приложение:
program Spisk;
uses crt;
type Tspis=record {тип запись с полями по условию}
fam:string[20];{фамилия}
vid:string[20]; {вид спорта}
voz:byte; {возраст}
stz:byte; {стаж}
end;
var sp:array[1..50] of Tspis;{массив записей-список спортсменов}
n,i,j,max,imax:byte;
begin
write('Kolichestvo sportsmenov n=');
readln(n);
for i:=1 to n do
begin
writeln('Sportsmen ',i); {заполняем список данными}
write('Familia: ');readln(sp[i].fam);
write('Vid sporta: ');readln(sp[i].vid);
write('Vozrast: ');readln(sp[i].voz);
write('Staz: ');readln(sp[i].stz);
end;
max:=0;imax:=0;
for i:=1 to n do
if (sp[i].vid='плавание')and(sp[i].voz>max) then
begin
max:=sp[i].voz;{находим старшего из пловцов}
imax:=i; {запоминаем его номер}
end;
clrscr;
Writeln('Список пловцов:':40); {выводим список}
writeln;
for i:=1 to n do
if sp[i].vid='плавание' then {если поле вид-плавание}
writeln(sp[i].fam,' возраст - ',sp[i].voz,' занимается - ',sp[i].stz);
writeln;
write('Самый старший - ',sp[imax].fam); {выводим старшего из пловцов}
end.