Tableau_matrice

Bonjour,
On veut écrire un algorithme qui permet de transposer une matrice carré. L’opération de transposition consiste à inverser les lignes et les colonnes en effectuant une symétrie par rapport à la diagonale principale de la matrice.

Exemple:
soit le matrice suivant:
1 2 3
4 5 6
7 8 9
on va obtenir cette matrice:
1 4 7
2 5 8
3 6 9

please en language pascal.
et merci d'avance...
Configuration: Windows Me!
Firefox 2.0

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour abir.1,

    comment ça marche n'est pas un site de résolution de devoirs en ligne.

    Qu'est ce qui te pose problème ? L'algorithme, c'est-à-dire la manière de faire en gros ? Ou le codage de l'algorithme en Pascal (et si oui , écris nous deja l'algorithme s'il te plait! )

    Je peux te mettre sur la voie : la matrice est un tableau à 2 indices ( ligne colonne). Pour obtenir la matrice "transposée" ( avec une symetrie comme c'est écrit), il faut échanger les indices. Par exemple l'élément (1,1) se retrouvera en (1,1), le (1, 2) en (2, 1), le (1, 3) en (3, 1) etc... pour chaque indice.
    1. voila mon essai:

      program matrice;
      uses wincrt;
      var
      t:array[1..50,1..50] of integer;
      i,j,n,m:integer;
      begin
      writeln ('donner le nombre de ligne');
      readln (n);
      writeln ('donner le nombre de colonne');
      readln (m);
      for i:=1 to n do
      for j:=1 to m do
      begin
      write('t[',i,',',j,']=');
      readln (t[i,j];
      end;
      for i:=1 to n do
      begin
      writeln ;
      for j:= 1 to n do
      write(t[j,i]);
      end;
      end.

      je cherche une autre methode pour resoudre ce probleme ?
      1. comment ça "une autre méthode" ? Peux-tu etre plus précis ?
        1. Comme je t'ai répondu ici(intervention) ça ne te coutait qu'aller voir

          Bon je reposte ma solution:

          Voici l'algorithme:

          Algorithme ex;

          Type:n=1..100
          Variables A,B:tableau[1..100,1..100] de réels;
          i,j:entier;
          dim:n;

          Début
          ecrire('donnez la dimension du tableau');
          lire(dim);
          Pour i de 1 à dim faire
          Début
          Pour j de 1 à dim faire
          Début
          lire(T[i]);
          B <= A;
          A[i,j] <= B[j,i];
          ecrire(A[i,j]);
          fin;
          fin;
          fin.