Поменять местами максимальный и минимальный элементы массива — Pascal(Паскаль)

uses crt;
var
m:array [1..100] of integer;
temp,i,min,n,a,b,max,k:integer;
begin
clrscr;
writeln('кол элементов');
readln(n);
writeln('введите элементы*');
 
 for i:=1 to n     do
readln(m[i]);
       for i:=1 to n do write(m[i]:5);
max:=m[1];
a:=1;
 for i:=1 to n        do
        if max<m[i]  then begin max:=m[i]; a:=i; ;end;
        writeln;
writeln('максимальный ' ,max);
min:=m[1];
b:=1;
 for i:=1 to n        do
        if min>m[i]  then begin min:=m[i]; b:=i;end;
        writeln;
writeln('минимальный ' ,min);
if a=b then write('Все элементы в массиве одинаковые')
else
 begin
for i:=1 to n  do
temp:=m[a];
m[a]:=m[b];
m[b]:=temp;
 end;
 
 for i:=1 to n do write(m[i]:5);
   readln;
end.

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

uses crt;
var
i,n,k, max, min, imax, imin:integer;
a:array[1..99] of integer;
begin;
clrscr;
randomize;
write('n=');
readln(n);
for i:=1 to n do
begin
a[i]:=random(20)-10;
write(a[i]:3);
end;
max:=a[1];
min:=a[1];
imax:=1;
imin:=1;
for i:=1 to n do
begin
if a[i]>max then
begin
max:=a[i];
imax:=i;
end;
if a[i]<min then
begin
min:=a[i];
imin:=i;
end;
end;
k:=a[imin];
a[imin]:=a[imax];
a[imax]:=k;
writeln;
writeln;
write('max=',max,' min=',min);
writeln;
write('konechni massiv');
writeln;
for i:=1 to n do
write (a[i]:3);
readkey;
end.

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

const
n=10;
var
i,max,imax,imin,min,x,temp:integer;
a:array[1..n] of integer;
begin
for i:=1 to n do
  begin
      a[i]:=random(100);
      write(' ',a[i]:3);
  end;
writeln();
writeln('-------');

max:=a[1]; imax:=1;
for i:=2 to 10 do
if a[i]>max then
begin
 max:=a[i];
 imax:=i;
end;
min:=a[1]; imin:=1;
for i:=2 to 10 do
if a[i]<min then
begin
 min:=a[i];
 imin:=i;
end;
temp:=a[imax];
a[imax]:=a[imin];
a[imin]:=temp;


writeln('-------');

for i:=1 to n do
  write(' ',a[i]:3);
writeln();
end.

Результат работы программы

Leave a Comment

− 1 = 3