Advertisement
Abaduaber

DenKaz_1

Dec 9th, 2013
353
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.39 KB | None | 0 0
  1. Var
  2.     A: Array [1..100, 1..100] Of Integer;
  3.     S: Array [1..100, 1..2] Of Integer;
  4.     B: Array [1..100] Of Integer;
  5.     C: Array [1..100, 1..100] Of Integer;
  6.     N, I, J: Integer;
  7.  
  8. Procedure SortArr;
  9. Var
  10.     T, TT: Integer;
  11. Begin
  12.     {Расчет массива сумм}
  13.     For I:= 1 To N Do Begin
  14.       For J:= 1 To N Do
  15.         S[I, 1]:= S[I, 1] + A[I, J];
  16.       S[I, 2]:= I;
  17.     End;
  18.     {Сортировка массива сумм}
  19.     For J:= 1 To N - 1 Do
  20.       For I:= 1 To N - J Do
  21.         If S[I, 1] > S[I + 1, 1] Then Begin
  22.           T:= S[I, 1]; TT:= S[I, 2];
  23.           S[I, 1]:= S[I + 1, 1]; S[I, 2]:= S[I + 1, 2];
  24.           S[I + 1, 1]:= T; S[I + 1, 2]:= TT;
  25.         End;
  26.     {Сортировка матрицы}
  27.     For I:= 1 To N Do Begin
  28.       For J:= 1 To N Do Begin
  29.         C[I, J]:= A[S[I, 2], J];
  30.       End;
  31.     End;
  32.     WriteLn('Результирующая матрица:');
  33.     For J:= 1 To N Do Begin
  34.       For I:= 1 To N Do Write(C[I, J], ' ');
  35.       WriteLn;
  36.     End;
  37. End;
  38.  
  39. Begin
  40.     Repeat
  41.       Write('Input N [2..100]: ');
  42.       ReadLn(N);
  43.     Until (N >= 2) And (N <= 100);
  44.     Randomize;
  45.     WriteLn('Исходная матрица:');
  46.     For J:= 1 To N Do Begin
  47.       For I:= 1 To N Do Begin
  48.         A[I, J]:= Integer(Random(10));
  49.         Write(A[I, J], ' ');
  50.       End;
  51.       WriteLn;
  52.     End;
  53.     SortArr;
  54.     ReadLn;
  55. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement