• Пожалуйста помогите решить задачу по паскалю!!!
    Создать файлы: фамилия автолюбителя, марка его машины, её цвет, номер машины(русская буква, за ней 3 цифры, затем еще две русских буквы). Вывести на экран фамилии, марку машины и цвет машин тех автолюбителей, чьи номера начинаются и заканчиваются одной буквой или сообщить об отсутствии таковых. Далее вывести на экран фамилии и номера машин тех автолюбителей, которые имеют машину заданной марки и цвета. Марку и цвет запросить у пользователя. Если таких автомобилей нет, сообщить об этом.
    Всем заранее спасибо за помощь:)

Ответы 6

  • У меня для "тяжелых случаев" специально сделана виртуальная машина и на ней все работает беспроблемно с кириллицей.
  • второй запрос
    • Автор:

      jack25
    • 5 лет назад
    • 0
  • заполнение файлов можно закоментировать после первого раза. или вообще в ручную.
  • учитель реально зад***т такое задавать.
  • Про учителя я все уже написал в комментарии к заданию)
    • Автор:

      amazon
    • 5 лет назад
    • 0
  • uses crt;const    n = 10;type    Car = record        DriverName: string[20];        Mark: string[20];        Number: string[6];        Color: string[20];    end;var    cars: array[1..n] of Car;    i: integer;function CarToString(c: Car): string;begin    CarToString := c.DriverName + ' ' + c.Mark + ' ' + c.Number + ' ' + c.Color;end;procedure WriteToFile(data, file_name: string);var    f: text;begin    Assign(f, file_name);    Rewrite(f);    Write(f, data);    Close(f);end;procedure OpenFileToRead(file_name: string; var f: text);begin    Assign(f, file_name);    Reset(f);end;procedure CreateFilesWithData(Drivers, Marks, Numbers, Colors: string);var    c: Car;    s1, s2, s3, s4: string;    i: integer;begin    for i := 1 to n do     begin        {c.DriverName := Random(9).ToString;}        write('Имя водителя = ');        readln(c.DriverName);        s1 := s1 + c.DriverName + chr(13);                {c.Mark := Random(9).ToString;}        write('Марка = ');        readln(c.Mark);        s2 := s2 + c.Mark + chr(13);                {c.Number := Random(100, 999).ToString + Random(100, 999).ToString;}        write('Номер = ');        readln(c.Number);        s3 := s3 + c.Number + chr(13);                {c.Color := Random(9).ToString;}        write('Цвет = ');        readln(c.Color);        s4 := s4 + c.Color + chr(13);    end;           WriteToFile(s1, Drivers);    WriteToFile(s2, Marks);    WriteToFile(s3, Numbers);    WriteToFile(s4, Colors);end;procedure ReadFiles(Drivers, Marks, Numbers, Colors: string);var    f1, f2, f3, f4: text;    i: integer;begin    OpenFileToRead(Drivers, f1);    OpenFileToRead(Marks, f2);    OpenFileToRead(Numbers, f3);    OpenFileToRead(Colors, f4);        i := 0;    while not Eof(f1) do    begin        i := i + 1;                ReadLn(f1, cars[i].DriverName);        ReadLn(f2, cars[i].Mark);        ReadLn(f3, cars[i].Number);        ReadLn(f4, cars[i].Color);        {не учитывается вариант что кол-во строк может быть разным}    end;        Close(f1);    Close(f2);    Close(f3);    Close(f4);end;function Query1(mark, color: string): string;var    s: string;    i: integer;begin    for i := 1 to n do            if (cars[i].Mark = mark) and (cars[i].Color = color) then            s := s + cars[i].DriverName + ' ' + cars[i].Number + chr(13);        if s = '' then Query1 := 'Ничего не найдено'    else Query1 := s;end;function Query2(): string;var    s: string;    i: integer;begin    for i := 1 to n do            if (cars[i].Number[1] = cars[i].Number[Length(cars[i].Number)]) then            s := s + cars[i].DriverName + ' ' + cars[i].Mark + ' ' + cars[i].Color + chr(13);        if s = '' then Query2 := 'Ничего не найдено'    else Query2 := s;end;var    mark, color: string;begin    CreateFilesWithData('f1.txt', 'f2.txt', 'f3.txt', 'f4.txt');    ReadFiles('f1.txt', 'f2.txt', 'f3.txt', 'f4.txt');    for i := 1 to n do        writeln(CarToString(cars[i]));        Write('Искомая марка = ');readln(mark);    Write('Искомый цвет = ');readln(color);    writeln(Query1(mark, color));        writeln('Hомера начинаются и заканчиваются одной буквой');    writeln(Query2());end.
    • Автор:

      kenya67
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years