Trier un tableau en utilisant les procédures
Bonjour à tous,
Je dois faire un algorithme en utilisant les procédures et qui permet de :
- remplir un vecteur de 20 éléments ;
- afficher les éléments du vecteur ;
- trier la liste dans l'orde croissant ;
- afficher les éléments du tableau ;
- trier le vecteur dans l'orde décroissant ;
- afficher les élèments du tableau.
Mon essai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| debut
remplissage
affichage
triec
affichage
trid
affichage
fin
var
tab(20) entier
i,j entier
debut
procedure remplissage
pour i = 1 à 19
pour j = 1 to 19
ecrire j
ecrire i
fin pour
fin pour
fin
procedure affichage
pour i = 1 à 19
pour j = 1 à 19
lire j
lire i
fin pour j
fin pour i
procedure permute
var
p:Entier
debut
p=t(i)
t(i)=t(j)
t(j)=p
fin
procedure tric
debut
pour i=1 à 19
pour j= 1 à 19
SI T(i)>t(j) alors
permute
fin pour j
fin pour i
fin
procedure affichage
pour i=1 à 19
pour j= 1 à 19
ecrire t(i)
ecrie t(j)
fin pour j
fin pour i
fin
procedure tried
debut
pour i=1 à 19
pour j= 1 à 19
SI T(i)>t(j) alors
permute
fin pour j
fin pour i
fin
procedure affichage
pour i=1 à 19
pour j= 1 à 19
ecrire t(i)
ecrie t(j)
fin pour j
fin pour i
fin |
j'espère que c'est comme ça. :cry:
c'est un tableau a 1d est n'est pas une matrice
vous avez utilise ici 2compteur i, j et aussi 2boucle imbrique ici on utilise un seul compteur i et une seul boucle
1-on demande le nombre d'element a remplir
2-on utilise une boucle pour i de 1 a 20 a titre d'exemple
3-apres on doit faire une boucle pour affichage de 1 a20 on ajoutant au compteur i:=i+1
4-ici on utilise une variable deja declare exemple ptoc pour faire une condition et comparaison avec si: si t[i]<= ptoc alors ptoc:= t[i] c'est adir si l'ocurence de t[i] est petit que cel de ptoc alors ptoc reçois cette ocurence est c de suite on avançant ds le vecteur par i:=i+1 jusqua la fin
5-on affichera on utilisant la meme boucle pour i de1 a20 faire, ecrire t[i],...
6- on utilise la meme chose comme on n°4 sauf on change notre condition de < = le petit ou egal vers l'autre le plus grand
7- on affichera comme on n°5