Tableau_matrice

Fermé
abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 - 16 janv. 2008 à 20:20
abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 - 20 janv. 2008 à 22:14
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 jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
16 janv. 2008 à 20:34
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 dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 8
16 janv. 2008 à 21:07
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 jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
19 janv. 2008 à 02:09
comment ça "une autre méthode" ? Peux-tu etre plus précis ?
0
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 dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 8
19 janv. 2008 à 13:13
ton solution en quel lenguage?????
0
En algorithme comme tu as dit = dans aucun language
0
abir.1 Messages postés 21 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 9 février 2008 8
20 janv. 2008 à 22:14
ok merci grad
0