Задача состоит в определении количества пассажиров, у которых количество вещей превышает два, а также в определении их фамилий. Нужно также найти среднее значение количества вещей всех пассажиров и определить фамилии тех пассажиров, у которых количество вещей превышает это среднее значение.
Шаги решения:
1. Создать переменную для подсчета количества пассажиров с более чем двумя вещами и инициализировать ее нулем.
2. Создать переменную для подсчета суммы количества вещей всех пассажиров и инициализировать ее нулем.
3. Создать двумерный массив, где каждый элемент будет содержать фамилию пассажира и количество его вещей.
4. Пройти по всем элементам массива и для каждого пассажира проверить количество его вещей:
a. Если количество вещей пассажира больше двух, увеличить счетчик пассажиров с более чем двумя вещами на единицу.
b. Добавить количество вещей пассажира к сумме количества вещей всех пассажиров.
5. Рассчитать среднее значение количества вещей, разделив сумму количества вещей всех пассажиров на общее количество пассажиров.
6. Создать переменную для подсчета количества пассажиров, количество вещей которых превышает среднее значение, и инициализировать ее нулем.
7. Пройти по всем элементам массива и для каждого пассажира сравнить количество его вещей со средним значением.
a. Если количество вещей пассажира больше среднего значения, увеличить счетчик пассажиров с превышающим количеством вещей на единицу и вывести его фамилию.
8. Вывести количество пассажиров с более чем двумя вещами и количество пассажиров, количество вещей которых превышает среднее значение, на экран.
Вот пример кода на языке Pascal, который решает данную задачу:
“`pascal
program CountPassengers;
var
passengers: array of array [1..2] of string; // массив для хранения фамилий и количества вещей пассажиров
numPassengersWithMoreThanTwoItems: integer; // количество пассажиров с более чем двумя вещами
sumNumItems: integer; // сумма количества вещей всех пассажиров
averageNumItems: real; // среднее значение количества вещей
numPassengersAboveAverage: integer; // количество пассажиров, количество вещей которых превышает среднее значение
i: integer; // счетчик для цикла
begin
numPassengersWithMoreThanTwoItems := 0;
sumNumItems := 0;
// Заполнение массива фамилиями и количеством вещей пассажиров
passengers := [
[‘Иванов’, ‘3’],
[‘Петров’, ‘2’],
[‘Сидоров’, ‘4’],
[‘Смирнов’, ‘1’]
];
// Проход по всем пассажирам и подсчет количества пассажиров с более чем двумя вещами,
// а также суммы количества вещей
for i := 0 to Length(passengers) – 1 do
begin
if StrToInt(passengers[i][2]) > 2 then
numPassengersWithMoreThanTwoItems := numPassengersWithMoreThanTwoItems + 1;
sumNumItems := sumNumItems + StrToInt(passengers[i][2]);
end;
averageNumItems := sumNumItems / Length(passengers);
numPassengersAboveAverage := 0;
// Проход по всем пассажирам и подсчет количества пассажиров, количество вещей которых
// превышает среднее значение, и вывод их фамилий
for i := 0 to Length(passengers) – 1 do
begin
if StrToInt(passengers[i][2]) > averageNumItems then
begin
numPassengersAboveAverage := numPassengersAboveAverage + 1;
writeln(‘Пассажир ‘, passengers[i][1], ‘ имеет количество вещей, превышающее среднее значение.’);
end;
end;
writeln(‘Количество пассажиров с более чем двумя вещами: ‘, numPassengersWithMoreThanTwoItems);
writeln(‘Количество пассажиров, количество вещей которых превышает среднее значение: ‘, numPassengersAboveAverage);
readln;
end.
“`
Эта программа будет выводить количество пассажиров с более чем двумя вещами и фамилии пассажиров, количество вещей которых превышает среднее значение.