|
Познающий
Регистрация: 02.09.2007
Сообщений: 67
Провел на форуме: 521298
Репутация:
20
|
|
Veman
Код:
Program MinXY;
Uses Crt;
Const
MSize=10;
n=2;
m=3;
Type mas=array[1..n, 1..m] of Integer;
Var
x,y:mas;
{n,m:Integer;}
tmp:Integer;
i,j,Vvodim,iskat,zamenit:Integer;
PosXx, PosXy:Integer;
PosYx, PosYy:Integer;
ValX, ValY:Integer;
Function Vvod(Var x:mas; Var y:mas):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;
End;
///////////////////////////////////////////////////////
Function Poisk(x:mas; y:mas; Var PosXx:integer; Var PosXy:integer):integer;
Begin
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;
end;
/////////////////////////////////////////////////////
Function Zamena(Var x:mas; Var y:mas; PosXx,PosYx:integer):integer;
Begin
tmp:=x[PosXx,PosXy];
x[PosXx,PosXy]:=y[PosYx,PosYy];
y[PosYx,PosYy]:=tmp;
End;
Begin
vvodim:=Vvod(x,y);
iskat:=poisk(x,y,PosXx,PosXy);
zamenit:=zamena(x,y,PosXx,PosYx);
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.
Единственное что не помню, можно ли функции както по-другому вызвать.
Последний раз редактировалось Syntaxys; 05.12.2009 в 01:33..
|