Написать программу для решения задач в стиле турбо паскаля 80-х годов. 1.В массиве храниться информация ло количестве людей, живущих на каждом из 15 этажей дома(на первом этаже - в первом элементе массива,на втором - во втором и т.д.) Определить два этажа, на которых проживает меньше всего людей. Примечание: Задачу решить, не используя два прохода по массиву. 2. В начале массива записаны несколько равных между собой элементов. Определить количество таких элементов и вывести все элементы, следующие за последним из них. Рассмотреть возможность того, что весь массив заполнен одинаковыми элементами
program MinPeopleOnFloors; const N = 15; // количество этажей var people: array[1..N] of integer; i, min1, min2: integer; begin // Ввод количества жителей на каждом этаже for i := 1 to N do begin writeln('Введите количество жителей на ', i, ' этаже:'); readln(people[i]); end; // Определение двух этажей с минимальным количеством жителей min1 := 1; min2 := 2; if people[min2] < people[min1] then begin min1 := 2; min2 := 1; end; for i := 3 to N do begin if people[i] < people[min1] then begin min2 := min1; min1 := i; end else if people[i] < people[min2] then begin min2 := i; end; end; writeln('Два этажа, на которых проживает меньше всего людей:'); writeln('Этаж ', min1, ': ', people[min1], ' жителей'); writeln('Этаж ', min2, ': ', people[min2], ' жителей'); end.
Программа для решения задачи 2:
program EqualElements; const N = 10; // размер массива var arr: array[1..N] of integer; i, count: integer; equalElement: integer; begin count := 0; // Ввод элементов массива writeln('Введите элементы массива:'); read(arr[1]); equalElement := arr[1]; for i := 2 to N do begin read(arr[i]); if arr[i] = equalElement then count := count + 1 else count := 0; end; writeln('Количество элементов, равных первому: ', count); writeln('Элементы, следующие за последним равным элементом:'); for i := count + 2 to N do begin writeln(arr[i]); end; end.
Обе программы написаны в стиле Turbo Pascal 80-х годов и решают поставленные задачи.
Программа для решения задачи 1:
program MinPeopleOnFloors;const
N = 15; // количество этажей
var
people: array[1..N] of integer;
i, min1, min2: integer;
begin
// Ввод количества жителей на каждом этаже
for i := 1 to N do
begin
writeln('Введите количество жителей на ', i, ' этаже:');
readln(people[i]);
end;
// Определение двух этажей с минимальным количеством жителей
min1 := 1;
min2 := 2;
if people[min2] < people[min1] then
begin
min1 := 2;
min2 := 1;
end;
for i := 3 to N do
begin
if people[i] < people[min1] then
begin
min2 := min1;
min1 := i;
end
else if people[i] < people[min2] then
begin
min2 := i;
end;
end;
writeln('Два этажа, на которых проживает меньше всего людей:');
writeln('Этаж ', min1, ': ', people[min1], ' жителей');
writeln('Этаж ', min2, ': ', people[min2], ' жителей');
end.
Программа для решения задачи 2:
program EqualElements;const
N = 10; // размер массива
var
arr: array[1..N] of integer;
i, count: integer;
equalElement: integer;
begin
count := 0;
// Ввод элементов массива
writeln('Введите элементы массива:');
read(arr[1]);
equalElement := arr[1];
for i := 2 to N do
begin
read(arr[i]);
if arr[i] = equalElement then
count := count + 1
else
count := 0;
end;
writeln('Количество элементов, равных первому: ', count);
writeln('Элементы, следующие за последним равным элементом:');
for i := count + 2 to N do
begin
writeln(arr[i]);
end;
end.
Обе программы написаны в стиле Turbo Pascal 80-х годов и решают поставленные задачи.