1) Viết chương trình sắp xếp cả mảng 2 chiều
2) Viết chương trình tìm phần tử yên ngựa
Phần tử yên ngựa là phần tử vừa nhỏ nhất trong hàng vừa là phần tử lớn nhất trong cột chứa nó. Hãy tìm phần tử yên ngựa trong ma trận cho trước.
File input (hàng đầu tin chứa n hàng, m cột)
3 3
15 23 63
13 29 59
19 27 55
Out.INP (vị trí phần tử Yên ngựa)
(3,1)
Bài 1:
uses crt;
var a:array[1..100,1..100]of integer;
m,n,i,j,k,g,tam:integer;
begin
clrscr;
write('nhap so n='); readln(n);
write('nhap so m='); readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('a[',i,',',j,']='); readln(a[i,j]);
end;
{----------------------------------------------------------}
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
{----------------------------------------------------------}
writeln('day tang dan cua ma tran la: ');
for i:=1 to n do
for j:=1 to m do
for k:=1 to n do
for g:=1 to m do
if a[i,j]<a[k,g] then begin
tam:=a[k,g];
a[k,g]:=a[i,j];
a[i,j]:=tam;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
{---------------------------------------------------------}
writeln('day giam dan cua ma tran la: ');
for i:=1 to n do
for j:=1 to m do
for k:=1 to n do
for g:=1 to m do
if a[i,j]>a[k,g] then begin
tam:=a[k,g];
a[k,g]:=a[i,j];
a[i,j]:=tam;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
readln;
end.
Bài 2:
uses crt;
var a:array[1..100,1..100]of integer;
i,j,n,m,snn,sln,vtc,vth,x,z,kt,k:integer;
begin
clrscr;
{----------nhap----------}
write('nhap n: ');readln(n);
write('nhap m='); readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('a[',i,',',j,']='); readln(a[i,j]);
end;
{----------nho nhat hang----------}
for i:=1 to n do
begin
snn:=a[i,1];
for j:=1 to m do
if snn>=a[i,j] then
begin
snn:=a[i,j];
vth:=i;
vtc:=j;
end;
kt:=0;
sln:=a[vth,vtc];
for k:=1 to n do
if sln<a[k,vtc] then kt:=1;
if kt=0 then writeln(k,',',vtc);
end;
readln;
end.