Transposition de matrice

Résolu
jephte the best -  
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,
je veux effectuer une symétrie par rapport à la diagonale principale dans une matrice.

1 réponse

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Tu ne t'es pas cassé le cul.
    Vite fait (fonctionne sous FreePascal)
    program symmat;
    
    const N= 10;
    type row = array [1 .. N ] of integer;
    type sqm = array [1 .. N ] of row;
    
    procedure sym( var M: sqm);
    var
       i, j, tmp : integer;
    begin
    
       for i:=1 to N
          do
          for j:=i+1 to N
    	 do
          begin
    	 tmp := M[i][j];
    	 M[i][j] := M[j][i];
    	 M[j][i] := tmp;
          end;
    end;
    
    procedure display(var M : sqm);
    var
       i, j : integer;
    begin
       for i:=1 to N
          do
       begin
          for j:=1 to N
    	 do
    	 write(M[i][j]:6);
          writeln;
       end;
    end;
    
    var
       M1      :sqm;
       i,j: integer;
    begin
    
       for i:=1 to N
          do
          for j:=1 to N
    	 do
    	 M1[i][j] := Random(100);
       display(M1);
       writeln;
       sym(M1);
       display(M1);
    end.
    
    
    


    A toi de transformer la procédure en fonction ( ou de la modifier selon tes besoins). On ne va pas tout faire à ta place.

    Gates gave ^W  sold  you the windows.
    GNU gave us the whole house.(Alexandrin)
    0