uses crt;
type auto=record
mrk, cvt:string[20];
obm:real;
msh:integer;
end;
var kt,mg:array[1..100] of auto;
n,m,i,j:integer;
begin
write('Количество автомобилей в каталоге n=');
readln(n);
writeln('Введите данные каталога:');
for i:=1 to n do
begin
writeln('Автомобиль ',i);
with kt[i] do
begin
write(' марка: ');readln(mrk);
write(' цвет: ');readln(cvt);
write(' объем двигателя, литр: ');readln(obm);
write(' мощность в л.с.: ');readln(msh);
end;
end;
clrscr;
repeat
write('Количество автомобилей в магазине <=',n,' m=');
readln(m);
until m<=n;
writeln('Введите марки автомобилей:');
for i:=1 to m do
begin
write('Автомобиль ',i,' - ');
readln(mg[i].mrk);
end;
clrscr;
writeln(' Каталог');
writeln('----------------------------------------------');
writeln('| Марка | Цвет | Объем | Мощность |');
writeln('----------------------------------------------');
for i:=1 to n do
with kt[i] do
begin
gotoXY(1,whereY);write('| ',mrk);
gotoXY(15,whereY);write('| ',cvt);
gotoXY(26,whereY);write('| ',obm:4:1);
gotoXY(35,whereY);write('| ',msh:5);
gotoXY(46,whereY);writeln('|');
end;
writeln('----------------------------------------------');
for i:=1 to m do
for j:=1 to n do
if mg[i].mrk=kt[j].mrk then mg[i]:=kt[j];
writeln(' Автомобили в магазине');
writeln('----------------------------------------------');
writeln('| Марка | Цвет | Объем | Мощность |');
writeln('----------------------------------------------');
for i:=1 to m do
with mg[i] do
begin
gotoXY(1,whereY);write('| ',mrk);
gotoXY(15,whereY);write('| ',cvt);
gotoXY(26,whereY);write('| ',obm:4:1);
gotoXY(35,whereY);write('| ',msh:5);
gotoXY(46,whereY);writeln('|');
end;
writeln('----------------------------------------------');
end.