Tableau_matrice

abir.1 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
abir.1 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
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...

7 réponses

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
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.
0
abir.1 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   8
 
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 ?
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
comment ça "une autre méthode" ? Peux-tu etre plus précis ?
0
grad
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
abir.1 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   8
 
ton solution en quel lenguage?????
0
grad
 
En algorithme comme tu as dit = dans aucun language
0
abir.1 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   8
 
ok merci grad
0