Pascal ABCИмеется массив данных о K работающих в фирме: фамилия, имя,
Pascal ABC
Имеется массив данных о K работающих в фирме: фамилия, имя, отчество, адресок(улица, дом, квартира) и дата поступления на работу(месяц, год). Во 2-ой массив записать только тех из них, кто проживает по определённой улице. Заглавие этой улицы ввести с клавиатуры.
Настя Джексенбаева
Как я сообразил, для вас нужен массив record. Я прав?
Маргарита
да, вы верно сообразили
Горейко
Павел
Месяц и год нечаянно не типа DateTime?
Альбина Мухарева
нечаянно, вводится с клавиатуры
1 ответ
Алёна Видева
//Большую часть медли убил на испытания
//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
//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
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Облако тегов