Во второй массив записать только данные тех из них, кто взял телевизор - Pascal

Узнай цену своей работы

Формулировка задачи:

. Дан массив данных о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира) и что взял (только один предмет). Во второй массив записать только данные тех из них, кто взял телевизор.

Решение задачи: «Во второй массив записать только данные тех из них, кто взял телевизор»

textual
Листинг программы
  1. type
  2.     TName = record
  3.         firstName, lastName, patronymic: String[50];
  4.     end;
  5.     TAddress = record
  6.         street: String[50];
  7.         building: String[4];
  8.         apartment: Word;
  9.     end;
  10.     TClient = record
  11.         name: TName;
  12.         address: TAddress;
  13.         obj: String;
  14.     end;
  15.     TArray = Array[Byte] Of TClient;
  16. var
  17.     a, b: TArray;
  18.     i, na, nb: Byte;
  19.     searchParam: String;
  20. begin
  21.     repeat
  22.         Write('Input client'#39's count =');
  23.         ReadLn(na);
  24.     until (na > 0);
  25.     for i := 0 to na - 1 do
  26.         with a[i] do
  27.         begin
  28.             with name do
  29.             begin
  30.                 Write(#9'First name: '); ReadLn();
  31.                 Write(#9' Last name: '); ReadLn();
  32.                 Write(#9'Patronymic: '); ReadLn();
  33.             end;
  34.             with address do
  35.             begin
  36.                 Write(#9'     Street name: '); ReadLn();
  37.                 Write(#9' Building number: '); ReadLn();
  38.                 Write(#9'Apartment number: '); ReadLn();
  39.             end;
  40.             Write(#9'Object: '); ReadLn(obj);
  41.             WriteLn('-----');
  42.         end;
  43.     Write('Input search parameter (some object): '); ReadLn(searchParam);
  44.     nb := 0;
  45.     for i := 0 to na - 1 do
  46.         if (a[i].obj = searchParam)
  47.         then
  48.         begin
  49.             b[nb] := a[i];
  50.             Inc(nb);
  51.         end;
  52.     WriteLn('----------');
  53.     for i := 0 to nb - 1 do
  54.         with b[i].name do
  55.             WriteLn(i + 1, '. ', firstName, ' ', lastName, ' ', patronymic);
  56. end.

Объяснение кода листинга программы

  1. Объявляются пользовательские типы данных:
    • TName - запись с полями firstName, lastName, patronymic типа String[50];
    • TAddress - запись с полями street типа String[50], building типа String[4], apartment типа Word;
    • TClient - запись с полями name типа TName, address типа TAddress, obj типа String;
    • TArray - массив байтов типа TClient, обозначается как a и b;
  2. Объявляются переменные:
    • a, b - массивы типа TClient;
    • i, na, nb - переменные типа Byte;
    • searchParam - переменная типа String;
  3. Пользователь вводит количество клиентов в массиве a.
  4. Пользователь вводит данные о клиентах, включая имя, адрес и объект.
  5. Пользователь вводит искомый параметр поиска (например, телевизор).
  6. Происходит поиск клиентов, которые взяли тот объект, который соответствует введенному параметру.
  7. Клиенты, удовлетворяющие поисковому параметру, записываются в массив b.
  8. Выводятся данные клиентов, соответствующих поисковому параметру, в формате Имя Фамилия Отчество.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы