Дан массив а с количеством элементов n< =10 (элементы вводить с клавиатуры).найдите сумму элементов этого массива , которые расположены между макс и мин элементами массива. заранее )
Вместо слов тип укажешь real если массив действительных чисел или integer - если целые числа
var a: array[1..10] of тип i,n:integer; max, min, sum: тип begin write('Введите количество элементов массива'); readln(n); for i:=1 to n do read(a[i]); max:=a[1]; min:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; for i:=2 to n do if a[i]>min then min:=a[i]; sum:=0; for i:=1 to n do if (a[i]>min) and (a[i]<max) then sum:= sum+a[i]; write('Сумма элементов массива расположенных между максимальным и минимальным = ', sum); end.
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку: procedure G(n: integer);forward; Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы. После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение * n = 12 * n = 12 Вызов процедуры G и выполнение * n = 11 * n = 11 Вызов процедуры F и выполнение * n = 9 * n = 9 Вызов процедуры G и выполнение * n = 8 * n = 8 Вызов процедуры Fи выполнение * n = 6 * n = 6 Вызов процедуры G и выполнение * n = 5 * n = 5 Вызов процедуры F и выполнение * n = 3 * n = 3 Вызов процедуры G и выполнение * n = 2 * n = 2 Вызов процедуры F и выполнение * n = 0
var a: array[1..10] of тип
i,n:integer; max, min, sum: тип
begin
write('Введите количество элементов массива'); readln(n);
for i:=1 to n do read(a[i]);
max:=a[1]; min:=a[1];
for i:=2 to n do if a[i]>max then max:=a[i];
for i:=2 to n do if a[i]>min then min:=a[i];
sum:=0;
for i:=1 to n do if (a[i]>min) and (a[i]<max) then sum:= sum+a[i];
write('Сумма элементов массива расположенных между максимальным и минимальным = ', sum);
end.