Ребят, я нашла способ сортировки методом просеивания, но только для столбцов. Помогите мне исправить программу, чтобы она сортировала числа в строках матрицы. Спасибо.
const n = 4; m = 4; type matrix = Array[1 .. n, 1 .. m] Of Integer;
Procedure Insert(Var ar: matrix; currCol: Integer; n: Integer); Var i, j, T: Integer; Begin For i := 1 To n do Begin T := ar[i, currcol]; j := Pred(i); While (T < ar[j, currcol]) and (j >= 0) Do Begin ar[Succ(j), currcol] := ar[j, currcol]; Dec(j); End; ar[Succ(j), currcol] := T; End; End;
const a: matrix = ((10, 9, 8, 7), ( 6, 5, 4, 3), (11, 12, 14, 16), (34, 23, 81, 11)); var i, j: integer; begin For i := 1 to m do Insert(a, i, n); for i := 1 to n do begin for j := 1 to m do write(a[i, j]:5); writeln end; end.
Анжелика
19.12.2005 0:05
ребят, ну помогите, пожалуйста.
volvo
19.12.2005 2:07
Вот так:
const n = 4; m = 4;
Type arrType = Array[1 .. n] Of Integer; matrix = Array[1 .. m] Of ArrType;
Procedure Insert(Var ar: arrType; n: Integer); Var i, j, T: Integer; Begin For i := 1 To n do Begin T := ar[i]; j := Pred(i); While (T < ar[j]) and (j > 0) Do Begin ar[Succ(j)] := ar[j]; Dec(j); End; ar[Succ(j)] := T; End; End;