Предмет: Информатика, автор: deordyevsana

В одновимірному масиві визначити суму додатніх елементів. Знайти добуток елементів, розташованих між максимальним по модулю та мінімальним по модулю елементами масиву. (Лазарус)​

Ответы

Автор ответа: asphaltlev
1

Ответ:

program ArrayOperations;

var

 arr: array of Integer;

 i, sum, max_idx, min_idx, prod: Integer;

 max_val, min_val: Integer;

begin

// ініціалізуємо масив

 SetLength(arr, 10);

 arr[0] := 2;

 arr[1] := -5;

 arr[2] := 8;

 arr[3] := 3;

 arr[4] := -1;

 arr[5] := 7;

 arr[6] := -4;

 arr[7] := 9;

 arr[8] := 0;

 arr[9] := -2;

 

 // знаходимо суму додатніх елементів масиву

 sum := 0;

 for i := 0 to Length(arr) - 1 do

 begin

   if arr[i] > 0 then

     sum := sum + arr[i];

 end;

 

 WriteLn('Сума додатніх елементів: ', sum);

 

 // знаходимо максимальний і мінімальний елементи за модулем

 max_idx := 0;

 min_idx := 0;

 max_val := abs(arr[0]);

 min_val := abs(arr[0]);

 

 for i := 1 to Length(arr) - 1 do

 begin

   if abs(arr[i]) > max_val then

   begin

     max_idx := i;

     max_val := abs(arr[i]);

   end;

   

   if abs(arr[i]) < min_val then

   begin

     min_idx := i;

     min_val := abs(arr[i]);

   end;

 end;

 

// знаходимо добуток елементів, що знаходяться між максимальним і мінімальним елементами

 prod := 1;

 if max_idx < min_idx then

 begin

   for i := max_idx + 1 to min_idx - 1 do

   begin

     prod := prod * arr[i];

   end;

 end

 else

 begin

   for i := min_idx + 1 to max_idx - 1 do

   begin

     prod := prod * arr[i];

   end;

 end;

 

 WriteLn('Добуток елементів, розташованих між максимальним та мінімальним елементами: ', prod);

 

end.

Похожие вопросы
Предмет: Физика, автор: hoptaulia371
Предмет: Математика, автор: SwiftKeyCom
Предмет: Английский язык, автор: RuslanBubnov