Вопрос по информатике
Анонимный
1 год назад

Задачи на одномерный массив в (Лазарус)

Массив имеет размер 10 частей. Тип массива – целый. Данные массива – числа от 0 до 10.
1. В одномерном массиве определить сумму положительных элементов. 2. Найти произведение элементов, расположенных между максимальным по модулю и минимальным по модулю элементами массива.​

Ответы 1

Паскаль
program ArrayTasks;

const
SIZE = 10;

type
TIntegerArray = array[1..SIZE] of Integer;

var
arr: TIntegerArray;
i, maxIdx, minIdx, sumPositives, product: Integer;

begin
// Заполнение массива случайными числами от 0 до 10
Randomize;
for i := 1 to SIZE do
arr[i] := Random(11);

// 1. Сумма положительных элементов массива
sumPositives := 0;
for i := 1 to SIZE do
begin
if arr[i] > 0 then
sumPositives := sumPositives + arr[i];
end;

// 2. Произведение элементов между максимальным и минимальным по модулю
maxIdx := 1;
minIdx := 1;

for i := 2 to SIZE do
begin
if abs(arr[i]) > abs(arr[maxIdx]) then
maxIdx := i;

if abs(arr[i]) < abs(arr[minIdx]) then
minIdx := i;
end;

// Обработка случая, когда minIdx > maxIdx
if minIdx > maxIdx then
begin
i := minIdx;
minIdx := maxIdx;
maxIdx := i;
end;

product := 1;
for i := minIdx + 1 to maxIdx - 1 do
product := product * arr[i];

// Вывод результатов
writeln('Массив: ');
for i := 1 to SIZE do
write(arr[i], ' ');
writeln;

writeln('Сумма положительных элементов: ', sumPositives);
writeln('Произведение элементов между максимальным и минимальным по модулю: ', product);

readln;
end.
Премиум статус
Получайте самые быстрые
ответы на свои вопросы
У вас остались
вопросы?