profile
Опубликовано 5 лет назад по предмету Информатика от sergeiivanov

Pascal ABC
Имеется массив данных о K работающих в фирме: фамилия, имя, отчество, адрес(улица, дом, квартира) и дата поступления на работу(месяц, год). Во второй массив записать только тех из них, кто проживает по определённой улице. Название этой улицы ввести с клавиатуры.

  1. Ответ
    Ответ дан Gleb1Kosyrev
    //Большую часть времени убил на тесты
    //Pascal ABC.NET v3.1 сборка 1172

    Type
     ty=record
      sub,name,ot,ul,kv,ho:string;
      mo,ye:integer;
     end;

    Var
     ar1,ar2:array of ty;
     k,i,n:integer;
     s:string;
    begin
     readln(k);
     setlength(ar1,k);
     n:=0;
     for i:=0 to k-1 do
      begin
       write('Введите фамилию рабочего №',i+1,':'); readln(ar1[i].sub);
       write('Введите имя рабочего:№',i+1,':'); readln(ar1[i].name);
       write('Введите отчество рабочего:№',i+1,':'); readln(ar1[i].ot);
       write('Введите улицу проживания рабочего:№',i+1,':'); readln(ar1[i].ul);
       write('Введите дом проживания рабочего:№',i+1,':'); readln(ar1[i].ho);
       write('Введите квартиру проживания рабочего:№',i+1,':'); readln(ar1[i].kv);
       write('Введите месяц поступления на работу рабочего:№',i+1,':'); readln(ar1[i].mo);
       write('Введите год поступления на работу рабочего:№',i+1,':'); readln(ar1[i].ye);
      end;
     write('Введите искомую улицу:'); readln(s);
     writeln('Результаты:');
     for i:=0 to k-1 do
      begin
       if ar1[i].ul=s then
        begin
         inc(n);
         setlength(ar2,n);
         ar2[n-1]:=ar1[i];
         writeln('Рабочий #',i+1,',', ar2[n-1].sub,' ',ar2[n-1].name,' ',ar2[n-1].ot);
         writeln('Адрес:',ar2[n-1].ul,' ',ar2[n-1].ho,',',ar2[n-1].kv);
         writeln('Дата поступления на работу:',ar2[n-1].mo,',',ar2[n-1].ye);
        end;
      end;
    end.
        
    Пример ввода:
    3
    Введите фамилию рабочего №1:Хацуне
    Введите имя рабочего:№1:Мику
    Введите отчество рабочего:№1:Ивановна
    Введите улицу проживания рабочего:№1:Омотесандо
    Введите дом проживания рабочего:№1:23
    Введите квартиру проживания рабочего:№1:34
    Введите месяц поступления на работу рабочего:№1:1
    Введите год поступления на работу рабочего:№1:1998
    Введите фамилию рабочего №2:Двачевская
    Введите имя рабочего:№2:Алиса
    Введите отчество рабочего:№2:Петровна
    Введите улицу проживания рабочего:№2:Пушкина
    Введите дом проживания рабочего:№2:223
    Введите квартиру проживания рабочего:№2:34
    Введите месяц поступления на работу рабочего:№2:2
    Введите год поступления на работу рабочего:№2:1997
    Введите фамилию рабочего №3:Персунов
    Введите имя рабочего:№3:Семён
    Введите отчество рабочего:№3:Олегович
    Введите улицу проживания рабочего:№3:Омотесандо
    Введите дом проживания рабочего:№3:23
    Введите квартиру проживания рабочего:№3:34
    Введите месяц поступления на работу рабочего:№3:6
    Введите год поступления на работу рабочего:№3:2000
    Введите искомую улицу:Омотесандо

    Пример вывода:
    Результаты:
    Рабочий #1,Хацуне Мику Ивановна
    Адрес:Омотесандо 23,34
    Дата поступления на работу:1,1998
    Рабочий #3,Персунов Семён Олегович
    Адрес:Омотесандо 23,34
    Дата поступления на работу:6,2000


Самые новые вопросы