Здравствуйте!!! Нужна Ваша помошь!
Дали такое задание на Pascale: используя подпрограммы-функции в массивах Х и У найти минимумы с учетом повторений и поменять их местами.
Вроде ничего сложного. Написал код, все работает!
Но никак не пойму, как переделать программу, чтобы получились функции...
Код:
Program MinXY;
Uses Crt;
Const
MSize=10;
n=2;
m=3;
Var
x,y:array[1..n, 1..m] of Integer;
{n,m:Integer;}
tmp:Integer;
i,j:Integer;
PosXx, PosXy:Integer;
PosYx, PosYy:Integer;
ValX, ValY:Integer;
{Function SearchMin:Integer;}
Begin
ClrScr;
{********************************************}
Writeln('Ввод массива Х!!!');
for i:=1 to n do
for j:=1 to m do
begin
Write('x[',i,'][',j,'] -> ');
Readln(x[i][j]);
end;
Writeln;
Writeln('Ввод масива Y!');
for i:=1 to n do
for j:=1 to m do
begin
Write('y[',i,'][',j,'] -> ');
Readln(y[i][j]);
end;
{********************************************}
Writeln;
Writeln('Массив Х!');
for i:=1 to n do
begin
for j:=1 to m do
Write(x[i][j],' ');
Writeln;
end;
Readln;
Writeln('Массив Y!');
for i:=1 to n do
begin
for j:=1 to m do
Write(y[i][j],' ');
Writeln;
end;
Readln;
{********************************************}
ValX:=x[1,1];
PosXx:=1;
PosXy:=1;
for i:=1 to n do
begin
for j:=1 to m do
if x[i,j]<=ValX then
begin
ValX:=x[i,j];
PosXx:=i;
PosXy:=j;
end;
end;
Writeln('Найден Минимимум в массиве Х!');
Writeln('Значение минимума: ',ValX);
Writeln('Строка ',PosXx);
Writeln('Столбец ', PosXy);
Readln;
ValY:=y[1,1];
PosYx:=1;
PosYy:=1;
for i:=1 to n do
begin
for j:=1 to m do
if y[i,j]<=ValY then
begin
ValY:=y[i,j];
PosYx:=i;
PosYy:=j;
end;
end;
Writeln('Найден Минимимум в массиве Y!');
Writeln('Значение минимума: ',ValY);
Writeln('Строка ',PosYx);
Writeln('Столбец ', PosYy);
Readln;
{********************************************}
tmp:=x[PosXx,PosXy];
x[PosXx,PosXy]:=y[PosYx,PosYy];
y[PosYx,PosYy]:=tmp;
{********************************************}
Writeln;
Writeln('Массив Х!');
for i:=1 to n do
begin
for j:=1 to m do
Write(x[i][j],' ');
Writeln;
end;
Readln;
Writeln('Массив Y!');
for i:=1 to n do
begin
for j:=1 to m do
Write(y[i][j],' ');
Writeln;
end;
Readln;
End.
Я так понимаю должно наверно быть три функции:
1. Ввод массива (Х и У),
2. Поиск минимумов в массивах Х и Y
3. Замена минимумов местами
Подскажите, как можно переделать, а то не совсем разорбрался с функциями...
Заранее огромное спасибо!!!!!