Pascal ABC Имеется массив данных о K работающих в фирме: фамилия, имя, отчество, адрес(улица, дом, квартира) и дата поступления на работу(месяц, год). Во второй массив записать только тех из них, кто проживает по определённой улице. Название этой улицы ввести с клавиатуры.
type Employee = record surname: string; name: string; patronymic: string; address: string; hireDate: record month: integer; year: integer; end; end;
var employees: array [1..100] of Employee; filteredEmployees: array [1..100] of Employee; street: string; i, j: integer;
begin // Ввод данных о сотрудниках фирмы writeln('Enter data for K employees:'); for i := 1 to 100 do begin 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 do begin if Pos(street, employees[i].address) > 0 then begin j := j + 1; filteredEmployees[j] := employees[i]; end; end;
// Вывод отфильтрованного массива writeln('Employees living on ', street, ' street:'); for i := 1 to j do begin 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;
type
Employee = record
surname: string;
name: string;
patronymic: string;
address: string;
hireDate: record
month: integer;
year: integer;
end;
end;
var
employees: array [1..100] of Employee;
filteredEmployees: array [1..100] of Employee;
street: string;
i, j: integer;
begin
// Ввод данных о сотрудниках фирмы
writeln('Enter data for K employees:');
for i := 1 to 100 do
begin
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 do
begin
if Pos(street, employees[i].address) > 0 then
begin
j := j + 1;
filteredEmployees[j] := employees[i];
end;
end;
// Вывод отфильтрованного массива
writeln('Employees living on ', street, ' street:');
for i := 1 to j do
begin
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.