Парни хелпуйте срочно

Приложения:

Ответы

Ответ дал: vimmortal2
1

Программа:

Pascal:

Определи сумму двух наибольших элементов массива arr.

const arr: array[1..10] of integer = (-4, 2, 4, 1, 6, 10, -5, 9, 15, 3);

var max1, max2: integer;

begin

 max1 := arr.max;

 max2 := -MAXINT;

 for var i := 1 to 10 do

   if (arr[i] > max2) and (arr[i] <> max1) then max2 := arr[i];

 writeln(arr, #10, max1 + max2);

end.


daksz82: Можешь дать в виде ответа ?
vimmortal2: просто прибавьте два максимальных элемента. мой код их автоматически находит, прибавляет и выводит.
15 + 10 = 25
vimmortal2: если нужно делать по условию, то есть то, какой массив образуется - и по нему найти сумму максимальных, то в задании ошибка.
в строке с if пытаются изменить константу, что, увы, сделать нельзя
daksz82: это я тоже заметил, а что с этим реально сделать?
vimmortal2: убрать слово "const")
получим на выходе:
11 3 1 4 -1 -5 13 -4 -10 2

и сумма двух максимальных: 13 + 11 = 24
daksz82: просто лучший
vimmortal2: Если провести слияние кода из условие и моего, то во второй строке на выходе получим сумму двух максимальных чисел:
vimmortal2: program first;
var
i, max1, max2: integer;
arr: array[1..10] of integer = (-4, 2, 4, 1, 6, 10, -5, 9, 15, 3);
begin
for i := 1 to 10 do
if arr[i] > 0 then arr[i] := -1 * arr[i] + 5
else arr[i] := -2 * arr[i] + 3;
for i := 1 to 10 do write(arr[i], ' ');

max1 := arr.max;
max2 := -MAXINT;
for i := 1 to 10 do
if (arr[i] > max2) and (arr[i] <> max1) then max2 := arr[i];
writeln(#10, max1 + max2);
end.
vimmortal2: РЕЗУЛЬТАТ:
11 3 1 4 -1 -5 13 -4 -10 2
24
Ответ дал: Tani77ma
0

Ответ:

11  3  1  4  -1  -5  13  -4  -10  2

сумма 11 и 13   24

Объяснение:

Вас заинтересует