Pascal ABC Имеется массив данных о K работающих в фирме: фамилия, имя, отчество, адрес(улица, дом, квартира) и дата поступления на работу(месяц, год). Во второй массив записать только тех из них, кто проживает по определённой улице. Название этой улицы ввести с клавиатуры.
typ Employee = recor surname: string name: string patronymic: string address: string hireDate: recor month: integer year: integer end end;
va employees: array [1..100] of Employee filteredEmployees: array [1..100] of Employee street: string i, j: integer;
begi // Ввод данных о сотрудниках фирм writeln('Enter data for K employees:') for i := 1 to 100 d begi writeln('Employee ', i) write('Surname: ') readln(employees[i].surname) write('Name: ') readln(employees[i].name) write('Patronymic: ') readln(employees[i].patronymic) write('Address (street, house, flat): ') readln(employees[i].address) write('Hire month: ') readln(employees[i].hireDate.month) write('Hire year: ') readln(employees[i].hireDate.year) end;
// Ввод названия улиц write('Enter the name of the street: ') readln(street);
// Фильтрация и вывод данных о сотрудниках, проживающих на указанной улиц j := 0 for i := 1 to 100 d begi if Pos(street, employees[i].address) > 0 the begi j := j + 1 filteredEmployees[j] := employees[i] end end;
// Вывод отфильтрованного массив writeln('Employees living on ', street, ' street:') for i := 1 to j d begi writeln('Employee ', i) writeln('Surname: ', filteredEmployees[i].surname) writeln('Name: ', filteredEmployees[i].name) writeln('Patronymic: ', filteredEmployees[i].patronymic) writeln('Address: ', filteredEmployees[i].address) writeln('Hire date: ', filteredEmployees[i].hireDate.month, ' ', filteredEmployees[i].hireDate.year) writeln end end.
program FirmEmployees;
typ
Employee = recor
surname: string
name: string
patronymic: string
address: string
hireDate: recor
month: integer
year: integer
end
end;
va
employees: array [1..100] of Employee
filteredEmployees: array [1..100] of Employee
street: string
i, j: integer;
begi
// Ввод данных о сотрудниках фирм
writeln('Enter data for K employees:')
for i := 1 to 100 d
begi
writeln('Employee ', i)
write('Surname: ')
readln(employees[i].surname)
write('Name: ')
readln(employees[i].name)
write('Patronymic: ')
readln(employees[i].patronymic)
write('Address (street, house, flat): ')
readln(employees[i].address)
write('Hire month: ')
readln(employees[i].hireDate.month)
write('Hire year: ')
readln(employees[i].hireDate.year)
end;
// Ввод названия улиц
write('Enter the name of the street: ')
readln(street);
// Фильтрация и вывод данных о сотрудниках, проживающих на указанной улиц
j := 0
for i := 1 to 100 d
begi
if Pos(street, employees[i].address) > 0 the
begi
j := j + 1
filteredEmployees[j] := employees[i]
end
end;
// Вывод отфильтрованного массив
writeln('Employees living on ', street, ' street:')
for i := 1 to j d
begi
writeln('Employee ', i)
writeln('Surname: ', filteredEmployees[i].surname)
writeln('Name: ', filteredEmployees[i].name)
writeln('Patronymic: ', filteredEmployees[i].patronymic)
writeln('Address: ', filteredEmployees[i].address)
writeln('Hire date: ', filteredEmployees[i].hireDate.month, ' ', filteredEmployees[i].hireDate.year)
writeln
end
end.