Видеопамять хранит данные, с помощью которых формируется изображение на экране.
Var
i,max,min,res,maxi,mini:integer;
a: array [1..15] of integer;
begin
writeln('Введите числа');
for i:=1 to 15 do
read(a[i]);
max:=a[1];
min:=a[1];
for i:=1 to 15 do
begin
if max<a[i] then begin
max:=a[i];
maxi:=i;
end;
if min>a[i] then begin
min:=a[i];
mini:=i;
end;
end;
if maxi>mini then
res:=maxi-mini
else
res:=mini-maxi;
res:=res-2;
writeln('между максимум и минимум = ', res, ' элементов');
end.
///Pascal abc.
Самый простой способ (программа в файлике);
Проверка:
Введите число: 547
Результат: 745
В задаче достаточно держать в памяти два числа: наибольшее и второе по величине – и обновлять эту пару, считывая числа. Если считанное число больше максимального, то оно будет новым максимумом, а бывший максимум станет вторым по величине; если считанное число меньше максимального, но больше второго по величине, то оно становится новым вторым по величине.
Реализация (python 3):
max, max2 = int(input()), int(input())
if max2 > max:
max, max2 = max2, max
while True:
t = int(input())
if t == 0: break
if t > max:
max, max2 = t, max
elif t > max2:
max2 = t
print(max2)
Пример ввода:
5
1
3
2
4
0
Пример вывода:
4