Дан одномерный массив 10 целых чисел. Найти наибольшую и наименьшую разность между двумя соседними элементами и указать номера этих
10-11 класс
|
элементов.
var a:array [1..10] of integer;
maxi,mini,max,min:integer;
Begin
maxi:=2;
mini:=2;
for i:= 1 to 10 do Begin
read(a[i]);
if i=2 then begin
max = a[i]-a[i-1];
mix = a[i]-a[i-1];
end;
if i>2 and max < a[i]-a[i-1] then begin
max = a[i]-a[i-1];
maxi = i;
end;
if i>2 and min > a[i]-a[i-1] then begin
mix = a[i]-a[i-1];
mixi = i;
end;
end;
writeln('min: a[',mini,'] - a[',mini-1,'] = ',min);
writeln('max: a[',maxi,'] - a[',maxi-1,'] = ',max);
End.
Другие вопросы из категории
((x>36) AND (x>33)) AND (x<35)
Читайте также
расположенных между максимальным и минимальным элементами.
Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
ну или исправьте мое пжл
program fgf;
var mas:array[1..100] of real;
max,min:real;
i,n,c,b:shortint;
p:real;
f1,g:text;
begin;
assign (f1, 'input.txt');
reset (f1);
readln (f1, n);
for i:=1 to N do read (mas[i]);
max:=mas[i];
for i:=2 to N do begin
if mas[i]>max then begin
max:=mas[i];
c:=i;
end;
end;
min:=mas[1];
for i:=2 to N do begin
if mas[i]<min then begin
max:=mas[i];
b:=i;
end;
end;
close(f1);
assign (g, 'output.txt');
rewrite (g);
p:=1;
if b<c then I:=b+1 and c-1
else for I:=c+1 to b-1 do p:=p*mas[i];
if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;
close (g);
end.
и устанавливается первым в массиве, затем из оставшихся находится минимальный элемент и устанавливается вторым в массиве, после чего отыскивается из оставшихся элементов максимальный и устанавливается третьим в массиве и т.д. Размерность массива задается с клавиатуры.
Помогите, пожалуйста, не получается.