Сделайте пожалуйста мне задачу.
Дана матрица B[N,M]. Найти максимальные и минимальные элементы в каждой строке и поменять их местами соотвественно.
Взял и поискал.(нравится,а? )
Зделай пожалуйста а то мне"2" ПОСТАВЯТЬ И ИСКЛЮЧАТ. Я в Паскале только новичок.
А вот это уже НИКОГО не интересует!Научись людей уважать!Здесь тебе никто ничего не должен!
Предоставь код,который ты написал,напиши проблему и какие непонятки.
Тебе помогут.
иначе мани отваливай
помогите????????????????????????
В чем здесь ошибка???
Меняет только первые-две строки, а остальные не меняются
Program lab_5;
Uses crt;
const N=4;M=4;
var a:array[1..5,1..5] of integer;
i,j,max,min,l,k:integer;
Begin
Randomize;
clrscr;
for i:=1 to M do begin
for j:=1 to N do begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;writeln;end;
min:=a[1,1];
for i:=1 to M do begin
for j:=1 to N do begin
if (a[i,j]>min) then begin min:=a[i,j];
l:=a[i,n];
a[i,n]:=min;
a[i,j]:=l;end;end;end;
for i:=1 to M do begin
for j:=1 to N do begin
max:=a[1,1];
if (a[i,j]<max) then begin max:=a[i,j];
k:=a[i,n];
a[i,n]:=max;
a[i,j]:=k;end;
end;end;
writeln;
writeln('Конечная матрица');
for i:=1 to M do begin
for j:=1 to N do begin
write(a[i,j]:3);
end;writeln;end;
readln;
end.
Прикрепленные файлы
LAB_6..txt ( 683 байт )
Кол-во скачиваний: 252
Во-первых, пользуйся тегами.
Во-вторых, покажи сам, как должны стоять элементы после отработки программы, потому что тут:
3 5 4 7 (исходная матрица)
5 6 1 9
7 4 8 7
3 7 9 3
и тут:
3 7 4 5 (конечная матрица)
5 9 6 1
7 4 7 8
3 7 3 9
логика какая-то странная.. в первой строке минимальный же 3, а максимальный - 7. Их же местами менять надо было?
что то типо этого...
const N=4;M=4;
var a:array[1..4,1..4] of integer;
i,j,max,min,l,k:integer;
imin,jmin,imax,jmax:integer;
Begin
Randomize;
for i:=1 to M do begin
for j:=1 to N do begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;writeln;end;
jmin:=1; jmax:=1;
for i:=1 to M do begin
min:=a[i,1];
max:=a[i,1];
imin:=i; imax:=i;
for j:=1 to N do begin
if a[i,j]<min then
begin
min:=a[i,j];
imin:=i;
jmin:=j;
end;
if a[i,j]>max then begin
max:=a[i,j];
imax:=i;
jmax:=j;
end;
end;
a[imin,jmin]:=a[imax,jmax];
a[imax,jmax]:=min;
end;
writeln('Êîíå÷íàÿ ìàòðèöà');
for i:=1 to M do begin
for j:=1 to N do begin
write(a[i,j]:3);
end;writeln;end;
readln;
end.
должно быть так:
начальная матрница
6 6 7 1 5
4 5 3 7 3
5 9 1 7 4
Конечная матрица
7 6 6 5 1
7 5 3 4 3
9 5 4 7 1
минимальные элементы в левом столбце, а максимальные в правом столбце или наоборот