1.дан массив R(N) N<=50. Переставить максимальный и минимальный элементы массива.
2.Дана целочисленная прямоугольная матрица.Определить минимальное из чисел,встречающихся в заданной матрице более одного раза.(оформить в виде функции).
Program Massiv;
{Uses max_crt;}
Const k=10; {2<=k<=50 вводи что хочешь...}
Type
t=array[1..k] of integer;
Var
x:t; i,max,min,Imax,Imin,tmp:integer;
Begin
{clrscr;}
for i:=1 to k do read(x[i]);
readln;
max:=x[1];
min:=x[2];
For i:=1 to k do
Begin
if max < x[i] then begin
max:=x[i];
Imax:=i;
end;
if min > x[i] then begin
min:=x[i];
Imin:=i;
end;
end;
tmp:=x[Imin];
x[Imin]:=x[Imax];
x[Imax]:=tmp;
For i:=1 to k do write(x[i]:3);
End.
max:=x[1];
min:=x[k];
Program Massiv;
{Uses max_crt;}
Const k=10; {k<=50 вводи что хочешь...}
Type
t=array[1..k] of integer;
Var
x:t; i,max,min,Imax,Imin,tmp:integer;
Begin
{clrscr;}
readln;
for i:=1 to k do read(x[i]);
readln;
Imax:=1;
max:=x[Imax];
Imin:=k;
min:=x[Imin];
if max < min then begin
Imax:=k;
max:=x[Imax];
Imin:=1;
min:=x[Imin];
end;
For i:=1 to k do
Begin
if max < x[i] then begin
max:=x[i];
Imax:=i;
end;
end;
For i:=1 to k do
Begin
if min > x[i] then begin
min:=x[i];
Imin:=i;
end;
end;
tmp:=x[Imin];
x[Imin]:=x[Imax];
x[Imax]:=tmp;
For i:=1 to k do write(x[i]:3);
End.
imax := 1; imin := 1;
for i := 2 to k do begin
if x[imax] < x[i] then imax := i;
if x[imin] > x[i] then imin := i;
end;
{ и менять x[imin] <-> x[imax] }
?
Или программа теперь тем лучше, чем больше непонятных действий делает?