Найти сумму тех элементов массива, которые больше десяти, и каждый элемент массива разделить на половину этой суммы. Сумму, а также начальный и полученные массивы отпечатать. Паскаль.С использованием подпрограмм: процедур и функций.

3 Фев 2020 в 19:40
145 +1
0
Ответы
1

Пример решения на Pascal:

program SumAndDivideArrayElements;
const
SIZE = 10;
type
TArray = array[1..SIZE] of Integer;
var
arr: TArray;
sum, i: Integer;
procedure InputArray(var arr: TArray);
var
i: Integer;
begin
for i := 1 to SIZE do
begin
Write('Введите элемент массива ', i, ': ');
Readln(arr[i]);
end;
end;
function CalculateSum(arr: TArray): Integer;
var
i, sum: Integer;
begin
sum := 0;
for i := 1 to SIZE do
begin
if arr[i] > 10 then
sum := sum + arr[i];
end;
CalculateSum := sum;
end;
procedure DivideElements(var arr: TArray; sum: Integer);
var
i: Integer;
begin
for i := 1 to SIZE do
begin
arr[i] := arr[i] / (sum / 2);
end;
end;
procedure PrintArray(arr: TArray);
var
i: Integer;
begin
for i := 1 to SIZE do
Write(arr[i]:4);
Writeln;
end;
begin
InputArray(arr);
sum := CalculateSum(arr);
Writeln('Исходный массив:');
PrintArray(arr);
Writeln('Сумма элементов больше десяти: ', sum);
DivideElements(arr, sum);
Writeln('Массив после деления каждого элемента на половину суммы:');
PrintArray(arr);
end.

После ввода всех элементов массива данный код найдет сумму элементов, которые больше 10, затем каждый элемент массива разделит на половину этой суммы и выведет исходный и измененный массивы.

18 Апр 2024 в 18:13
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир