Дан массив действительных чисел.Сформировать новый массив из данного без элементов, расположенных между максимальными минимальным элементом этого массива — Pascal(Паскаль)

program pr1;
var ch:array[1..25] of integer; n,i,k,min,max:byte;
begin
  writeln('Введите n');   //вводим число членов массива
  readln(n);
  for i:=1 to n do
  begin
    ch[i]:=random(101)-50; //рэндомно заполняем массив  числом от и
    write(ch[i]:4);   //выводим его
  end;
  writeln;
  max:=1;  //присваиваем сначала максимумму 1
  min:=1;  //присваиваем сначала мимнимуму 1
  for i:=2 to n do
  begin
    if ch[i]>ch[max] then max:=i;  //если число больше максимума то максимуму присваеваем число и
    if ch[i]<ch[min] then min:=i;  //если число меньше минимума то минимуму присваеваем число и
  end;
  writeln(min);     //выводим максимум и минимум
  writeln(max);
  
  if min < max then for i:=min+1 to N do ch[i]:=ch[i+(max-min)-1] else for i:=max+1 to N do ch[i]:=ch[i+(min-max)-1];
  N:=N-abs(max-min)+1;
  for i:=1 to N do write(ch[i],' ');
  writeln;
end.

Следующий вариант

program pr1;
var ch:array[1..25] of integer; n,i,k,min,max:byte;
begin
  writeln('Введите n');   //вводим число членов массива
  readln(n);
  for i:=1 to n do
  begin
    ch[i]:=random(101)-50; //рэндомно заполняем массив  числом от и
    write(ch[i]:4);   //выводим его
  end;
  writeln;
  max:=1;  //присваиваем сначала максимумму 1
  min:=1;  //присваиваем сначала мимнимуму 1
  for i:=2 to n do
  begin
    if ch[i]>ch[max] then max:=i;  //если число больше максимума то максимуму присваеваем число и
    if ch[i]<ch[min] then min:=i;  //если число меньше минимума то минимуму присваеваем число и
  end;
  writeln(min);     //выводим максимум и минимум
  writeln(max);
  
  k:=0;
if min < max then
begin
 for i:=1 to N do if (i <= min) or (i >= max) then
 begin
  inc(k);
  m[k]:=ch[i];
 end;
end else
begin
 for i:=1 to N do if (i <= max) or (i >= min) then
 begin
  inc(k);
  m[k]:=ch[i];
 end;
end;
 
for i:=1 to K do write(m[i],' ');
end.

Leave a Comment

− 9 = 1