Другие языки программирования и технологии

Пожалуйста помогите решить задачу по паскалю!!!

Создать файлы: фамилия автолюбителя, марка его машины, её цвет, номер машины (русская буква, за ней 3 цифры, затем еще две русских буквы). Вывести на экран фамилии, марку машины и цвет машин тех автолюбителей, чьи номера начинаются и заканчиваются одной буквой или сообщить об отсутствии таковых. Далее вывести на экран фамилии и номера машин тех автолюбителей, которые имеют машину заданной марки и цвета. Марку и цвет запросить у пользователя. Если таких автомобилей нет, сообщить об этом.
Всем заранее спасибо за помощь:)
Erkebulan Usbanaliev
Erkebulan Usbanaliev
221
type kartoteka = record
fio, marka, colors, nomer: string [20];
end;
var i, j, n, k: integer;
s, cv: string;
f: textfile;
db: array [1..1000] of kartoteka;
const autofio: array [1..8] of string = ('Иванов','Петров','Сидоров','Ульянов','Жуков','Кутузов','Сталин','Куйбышев');
const autocolors: array [1..8] of string = ('зеленый','желтый','красный','синий','черный','белый','металлик','розовый');
const automarka: array [1..8] of string = ('Nissan','Peguot','Renault','Toyota','Iveco','Mercedes','Jeep','Shevrolet');
begin
randomize;
write (' Введите количество автомобилистов [1..1000]:');
readln (n);
assign (f, 'db_auto.txt');
rewrite (f);
for i:=1 to n do
begin
db[i].fio:=autofio[1+random(8)];
db[i].marka:=automarka[1+random(8)];
db[i].colors:=autocolors[1+random(8)];
str (100+random(900), s);
db[i].nomer:=chr(ord('а')+random(32))+s+chr(ord('а')+random(32))+chr(ord('а')+random(32));
writeln (f, db[i].fio);
writeln (f, db[i].marka);
writeln (f, db[i].colors);
writeln (f, db[i].nomer);
end;
close (f);
assign(f, 'db_auto.txt');
reset (f);
i:=0;
while not Eof (f) do
begin
inc(i);
readln (f, db[i].fio);
readln (f, db[i].marka);
readln (f, db[i].colors);
readln (f, db[i].nomer);
end;

{ниже представлены 12 строк кода для вывода на экран содержимого файла с записями}
{writeln (' Фамилия':10, 'Марка':15,'Цвет':14,'Номер':15);
for i:=1 to n do
begin
write (db[i].fio);
for j:=1 to 18-length (db[i].fio) do write (' ');
write (db[i].marka);
for j:=1 to 15-length (db[i].marka) do write (' ');
write (db[i].colors);
for j:=1 to 15-length (db[i].colors) do write (' ');
writeln (db[i].nomer);
end;
writeln;}

writeln (' Фамилия':10, 'Марка':15,'Цвет':14,'Номер':15);
k:=0;
for i:=1 to n do
if db[i].nomer[1] = db[i].nomer[length(db[i].nomer)] then
begin
write (db[i].fio);
for j:=1 to 18-length (db[i].fio) do write (' ');
write (db[i].marka);
for j:=1 to 15-length (db[i].marka) do write (' ');
write (db[i].colors);
for j:=1 to 15-length (db[i].colors) do write (' ');
writeln (db[i].nomer);
inc(k);
end;
if k=0 then writeln ('Автомобили, чьи номера начинаются и заканчиваются одной буквой отсутствуют ');
writeln;
write ('введите марку (введите несколько букв, к примеру "Ren")=');
readln (s);
write ('введите цвет (введите несколько букв, к примеру "син") =');
readln (cv);
k:=0;
for i:=1 to n do
if (cv in db[i].colors) and (s in db[i].marka) then
begin
write (db[i].fio);
for j:=1 to 18-length (db[i].fio) do write (' ');
write (db[i].marka);
for j:=1 to 15-length (db[i].marka) do write (' ');
write (db[i].colors);
for j:=1 to 15-length (db[i].colors) do write (' ');
writeln (db[i].nomer);
inc(k);
end;
if k=0 then writeln ('Автомобили, с цветом "',cv,'" и моделью "',s,'" отсутствуют ');
end.
ДД
Денис Домбровский
20 124
Лучший ответ
есть похожая программа, попробуй переделать
program Igr;
uses crt;
type zap=record
name : string[10];
min, max,cena : integer;
end;
var
n,i,fl:integer;
assort: array[1..100] of zap;
BEGIN
clrscr;
writeln('СОЗДАНИЕ МАССИВА ЗАПМСЕЙ');
writeln('*************************');
write('Количество вводимых записей: --> '); readln(n);
for i := 1 to n do begin
writeln('Ввести ',i,' - ю запись');
with assort[i] do begin
write('Название игрушки: --> ');
readln(name);
write('Минимальный возраст: --> ');
readln(min);
write('Максимальный возраст: -->');
readln(max);
write('Цена игрушки ($): -->');
readln(cena);
end;
end;
writeln;
writeln(' Создание закончено');
writeln;
writeln(' Исходный массив');
writeln;
writeln('__________________________________________________________');
writeln(' N игрушка мин. возр. мах. возр. цена');
writeln('__________________________________________________________');
for i := 1 to n do
with assort[i] do
writeln(i:3,name:10,min:10,max:11,cena:10);
readln;
writeln(' Поиск игрушек детям 5 лет и цена 4$');
writeln('__________________________________________________________');
writeln(' N игрушка мин. возр. мах. возр. цена');
writeln('__________________________________________________________');
for i := 1 to n do
with assort[i] do
if (5>=min) and (5<=max) and (cena=4 )then begin
fl:=1;
writeln(i:3,name:10,min:10,max:11,cena:10);
end;
if fl = 0 then begin writeln('Такой игрушки нет');readln;end;
writeln('Поиск закончен');
readln;
writeln('конец программы');
readln;
END.