![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#2
|
|||
|
|||
![]() Я делал на Delphi, на паскаль перевести думаю несложно будет.
Зря, как мне кажется ты использовал структуру типа: TMatrix=array of array of integer; Я делал так: Код:
type TRow=array of integer; //ЭТО наши столбцы, нам легче будет обмениваться столбцами TMatrix=array of TRow; //это наша матрица Остальной код: Код:
function LoadMatrix(FileName:string):TMatrix; var M:TMatrix; h,c,i,j,v:integer; begin AssignFile(input,filename); Reset(input); Readln(h); SetLength(M,h); for i:=0 to h-1 do begin Readln(c); SetLength(M[i],c); for j:=0 to c-1 do begin Readln(v); M[i][j]:=v; end; end; closefile(input); Result:=M; end; function Max(R:TRow):integer; //поиск максимального элемента var i:integer; best:integer; begin best:=0; for i:=0 to High(R) do if best<R[i] then best:=R[i]; Result:=best; end; procedure Sort(var M:TMatrix); //сортировка пузырьком var i:integer; Ex:TRow; stop:boolean; begin repeat stop:=true; for i:=0 to High(M)-1 do if max(M[i])>max(M[i+1]) then begin Ex:=M[i]; M[i]:=M[i+1]; M[i+1]:=Ex; stop:=false; break; end; until stop=true; end; Пример файла, матрица три на три: 3 3 7 8 9 3 4 5 6 3 1 2 3 |