Triage de la matrice M1:croissant, décroisant

Fermé
adel_3n1 Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 25 juin 2003 - 9 juin 2003 à 20:31
adel_3n1 Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 25 juin 2003 - 9 juin 2003 à 22:54
Bonsoir a vous :
S’il vous plais connaissez vous le prog qui trie la matrice M du plus grand aux plus petit puis et le prog Du plus petit aux plus grand

Enoncer:
Ecrire un prog pascal qui permet de calculer la somme de deux tableaux a deux dimension (3x3)
Le résultat est dans le premier tableauM1?
Trie les éléments de la matrice M1 du plus grand aux plus petit et du plus petit aux plus grand?

Program somme_matrice ;
Var
I,j :integer ;
M1,M2 : array [1..3,1..3] of real;
Begin
For i:=1 to 3 do
For j:=1 to 3 do
Begin
Write (‘donner un élément de M1/’) ;
Readln (M1[I, j]) ;
Write (‘donner un élément de M2’) ;
Readln(M2[I ,j]) ;
(*Calcule de la somme des deux tableaux*)
For i:=1 to 3 do
For j:=1 to 3 do
M1[I,j]:=M1[I,j]+M2[I,j];
For i:=1 to 3 do
For j:=1 to 3 do
Writeln (M1[i,j]);
(*s.v.p aider moi a le compléter ordre croissant et décroisant de la Matrice M1, merci*)
(*demain a 15h30 Mon examen d’informatique, merci*)

……
……
……

2 réponses

boudjeroua.mohamed@caramail.com
salut adel,
ce n'est pas bien de réviser à la dernière seconde bon,
vous avez oublier un end pour la boucle for de la lécture.
pour le trie d'une matrice ce n'est pas facile mais je te donne une solution qui est juste avec un seul défaut elle répète le test même pour des cases déjà triées.
Program tricroissant_matrice ;
Var
I,j,s,k :integer ;
x:real;
M1,M2 : array [1..3,1..3] of real;
Begin
for i=1 to 3 do
for s :=1 to 3 do
for j=1 to 3 do
for k=1 to 3 do
begin
if m1[i,s]>m1[j,k] then
begin
x:=m1[i,s];{var intermédiaire lors du changement et contient l'élément qu'on doit tester}
m1[i,s]:= m1[j,k];
m1[j,k]:=x;
end;
end;
end.
pour le tri décroissant
Program tridécroissant_matrice ;
Var
I,j,s,k :integer ;
x:real;
M1,M2 : array [1..3,1..3] of real;
Begin
for i=1 to 3 do
for s :=1 to 3 do
for j=1 to 3 do
for k=1 to 3 do
begin
if m1[i,s]<m1[j,k] then
begin
x:=m1[i,s];
m1[i,s]:= m1[j,k];
m1[j,k]:=x;
end;
end;
end.
bonne chance pour l'éxamen,
à bientôt,
Merci.
0
adel_3n1 Messages postés 17 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 25 juin 2003
9 juin 2003 à 22:54
Je voulez donnez ce travaille au internaute pour me bien comprendre mon travaille ,maintenant comme Monsieur Boudjeroua Mohamed ma répondu,je le remercie du fond du coeur ,je crois que c’est bon ;le travaille était le suivant
pour aidez les génies a me faire la trie de La matrice M1 , prenez cet parties d’exercices avec solution comme exemple :
Soit un tableau t compose de 12 éléments de type entier
Ecrire un prog pascal pour
1-declare ce tableau
2-lire ce tableau
3-calculer la somme de ce tableau, soit la variable s1 contenant cet somme
4-trouver l’élément max de ce tableau
5-trier ce tableau par ordre croissant
Solution ce qui nous intéresse est la 5emme question :
RE :
...........
...........
............
FOR I :=1 TO 11 DO
FOR J :=1 TO 12 DO

If T[i]>T[j] then {ici en a utiliser le min}
Begin
X:=T[i];
T[i]:=T[j];
T[j]:=x;
End;
For i:=1 to 12 do
Begin
Writeln(‘le tableau,trie est:’);
Write(‘T[‘,I,’]=’,T[I]) ;
End;

End.
6-par exemple cette fois il nous disent trier ce tableau par ordre décroissent ? : Alors c’est l’inverse, en utilisent cette fois le Max : cette exercice en l’a pas corriger en classe,je l’est fait seule ,et je l’es peut dérouler pour le confirmer,par ce que c’est juste l’inverse,mais il a beaucoup de nuance

RE :
...........
...........
............
FOR I :=1 TO 11 DO
FOR J :=1 TO 12 DO

If T[i]<T[j] then
Begin
X:=T[i];
T[i]:=T[j];
T[j]:=x;
End;
For i:=1 to 12 do
Begin
Writeln(‘le tableau,trie est:’);
Write(‘T[‘,I,’]=’,T[I]) ;
End;
End.
Nota benne:pour les débutant ; pour comprendre comment j’ai utiliser,le min,et le max, allez s.v.p aux exercices simples du calcule du min et du max
0