15.05.2008, 21:41
общий
это ответ
Здравствуйте, Ласточка!
Решение задачи с пояснениями в приложении.
Приложение:
uses crt;const n=5; {можно побольше}type Tgaraz=record {тип запись с полями по условию} nom:string[20]; mar:string[20]; god:word; prb:longint; fam:string[20]; end;var sp:array[1..n] of Tgaraz; {список автомобилей} i,k,j:integer; m:string[10]; {переменная для вызова марки} buf:Tgaraz; {буфер при сортировке}beginclrscr;for i:=1 to n do {вводим данные} begin writeln(‘Mashina ‘,i,‘:‘); write(‘Nomer mashiny: ‘);readln(sp[i].nom); write(‘Marka mashiny: ‘);readln(sp[i].mar); write(‘God vypuska: ‘);readln(sp[i].god); write(‘Probeg: ‘);readln(sp[i].prb); write(‘Familia shofera: ‘);readln(sp[i].fam); end;writeln;write(‘Vvedite marku mashiny:‘);readln(m);k:=0;for i:=1 to n doif sp[i].mar=m then {если марка совпадает, считаем} begin k:=k+1; end;if k>0 then writeln(‘Takaja marka est!‘)else writeln(‘Takoj marki net!‘);writeln;writeln(‘Spisok mashin k spisaniu:‘);for i:=1 to n doif (sp[i].god<1980)and(sp[i].prb>50000)then begin write(‘Nomer ‘,sp[i].nom,‘ Marka ‘,sp[i].mar); write(‘ God vypuska ‘,sp[i].god,‘ Probeg ‘,sp[i].prb); writeln; end;writeln;writeln(‘Spisok po familii shofera:‘);{сортируем список по возрастанию значений поля фамилия(по алфавиту)}for i:=1 to n-1 dofor j:=1 to n-1 doif sp[j].fam>sp[j+1].fam then begin buf:=sp[j]; sp[j]:=sp[j+1]; sp[j+1]:=buf; end;for i:=1 to n do {выводим весь список} begin write(‘ Familia ‘,sp[i].fam,‘ Nomer ‘,sp[i].nom,‘ Marka ‘,sp[i].mar); write(‘ God vypuska ‘,sp[i].god,‘ Probeg ‘,sp[i].prb); writeln; end;readlnend.