frost12
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Corsairs вообщем не знаю насчет динамических массивов, но нужно просто в процедуре ввода добавить какой нибудь параметр, что бы именно в этой процедуре он отвечал за размерность массива, я так пробывал, но у меня полностью полетела сортировка( Добавлено: Вообщем то все правильно, но только нужно написать еще процедуру для ввода массива, это единственное к чему она придралась... const n=4; m=5; type mas=array[1..10,1..10] of integer; var a,b:mas; i,j,k,x,y:integer; procedure sort(k:integer; var z: mas; t:integer); var r,x,y:integer; begin for x:=1 to t-1 do for r:=x+1 to t do begin if z[k,x]<z[k,r] then begin y:=z[k,x]; z[k,x]:=z[k,r]; z[k,r]:=y; end; end; end; procedure print_mas(z:mas; t:integer); var i,j:integer; begin for i:=1 to t do begin for j:=1 to t do write(z[i,j]:4); writeln; end; end; begin {сделать процедурой } randomize; | | for i := 1 to n do | for j := 1 to n do | begin | a[i,j]:=50-random(100); | end; | for i := 1 to m do | for j := 1 to m do | begin | b[i,j]:=50-random(100); | end; | {сделать процедурой } writeln('Massiv A'); print_mas(a,n); writeln('Massiv B'); print_mas(b,m); for i:=1 to n do begin j:=n+1-i; {проверяем условие} if a[i,j]<a[i,n] then begin {меняем местами эти элементы} k:=a[i,j]; a[i,j]:=a[i,n]; a[i,n]:=k; end else begin {сортируем строку по убыванию} sort(i,a,n); end; end; for i:=1 to m do begin j:=n+1-i; {проверяем условие} if b[i,j]<b[i,n] then begin {меняем местами эти элементы} k:=b[i,j]; b[i,j]:=b[i,n]; b[i,n]:=k; end else begin {сортируем строку по убыванию} sort(i,b,m); end; end; writeLn('Massiv A'); print_mas(a,n); writeln('Massiv B'); print_mas(b,m); readln; end. |