Ответы 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.
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.
Премиум статус
Получайте самые быстрые
ответы на свои вопросы
ответы на свои вопросы
У вас остались
вопросы?
вопросы?