Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
zoha
Сделайте пожалуйста мне задачу.

Дана матрица B[N,M]. Найти максимальные и минимальные элементы в каждой строке и поменять их местами соотвественно.
Артемий
Взял и поискал.(нравится,а? dry.gif )
zoha
Зделай пожалуйста а то мне"2" ПОСТАВЯТЬ И ИСКЛЮЧАТ. Я в Паскале только новичок.
Артемий
А вот это уже НИКОГО не интересует!Научись людей уважать!Здесь тебе никто ничего не должен!
yome
Предоставь код,который ты написал,напиши проблему и какие непонятки.
Тебе помогут.

иначе мани отваливайsmile.gif
zoha
помогите????????????????????????
В чем здесь ошибка???
Меняет только первые-две строки, а остальные не меняются

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.

Айра
Во-первых, пользуйся тегами.
Во-вторых, покажи сам, как должны стоять элементы после отработки программы, потому что тут:
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.


Артемий ??
zoha
должно быть так:

начальная матрница
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
-volvo-
Цитата
должно быть так:
Не прослеживается в этом связь с тем заданием, которое ты привел в самом первом посте... Если задание наверху правильное - то начальной матрице:
6 6 7 1 5
4 5 3 7 3
5 9 1 7 4
должна соответствовать вот такая конечная (выделенные элементы меняем местами):
6 6 1 7 5
4 5 7 3 3
5 1 9 7 4

А ты говоришь, что должно быть нечто другое...
zoha
минимальные элементы в левом столбце, а максимальные в правом столбце или наоборот
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.