Advertisement
ProToTN

Matrix Sorting

Feb 3rd, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.06 KB | None | 0 0
  1. uses wincrt;
  2. Type Mat=Array[1..6,1..6] of integer;
  3. Var M:Mat;N:byte;
  4.  
  5.  
  6. Procedure Remplissage(Var M:Mat;Var N:Byte);
  7. Var L,C:Byte;
  8. Begin
  9.   Randomize;
  10.   N:=Random(4)+2;
  11.   For L:=1 to N do
  12.   Begin
  13.     For C:=1 to N do
  14.     Begin
  15.       M[L,C]:=Random(100);
  16.     End;
  17.   End;
  18. End;
  19.  
  20.  
  21. Procedure Tri(Var M:Mat;N:Byte);
  22. Var T:Array[1..12] of integer;
  23. L,C,i,j:byte;
  24. Test:Boolean;
  25. Begin
  26.   j:=0;
  27.   For L:=1 to N do
  28.   Begin
  29.     For C:=1 to N do
  30.     Begin
  31.       j:=j+1;
  32.       T[j]:=M[L,C];
  33.     End;
  34.   End;
  35.  
  36.   Repeat
  37.     Test:=false;
  38.     For i:=1 to j-1 do
  39.     Begin
  40.       if T[i] > T[i+1] then
  41.       Begin
  42.         X:=T[i];
  43.         T[i]:=T[i+1];
  44.         T[i+1]:=X;
  45.         Test:=true;
  46.       End;
  47.     End;
  48.   Until Test=False;
  49.  
  50.   i:=0;
  51.   For L:=1 to N do
  52.   Begin
  53.     For C:=1 to N do
  54.     Begin
  55.       i:=i+1;
  56.       M[L,C]:=T[i];
  57.     End;
  58.   End;
  59. End;
  60.  
  61.  
  62. Procedure Affichage(M:Mat);
  63. Var L,C:byte;
  64. Begin
  65.   For L:=1 to N do
  66.   Begin
  67.     For C:=1 to N do
  68.     Begin
  69.     write(M[L,C],' ');
  70.     End;
  71.     writeln;
  72.   End;
  73. End;
  74.  
  75. Begin
  76.   Remplissage(M,N);
  77.   Tri(M,N);
  78.   Affichage(M);
  79. End;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement