Algorithme sur les tableaux a une dimansion
Résolu/Fermé
bansan
Messages postés
122
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
8 mai 2011
-
1 avril 2008 à 13:08
imene - 23 janv. 2009 à 19:16
imene - 23 janv. 2009 à 19:16
A voir également:
- Algorithme sur les tableaux a une dimansion
- Tableaux croisés dynamiques - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Fusionner deux tableaux excel - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
- À l'aide des tableaux ci-dessous, trouvez le mot dont le code ascii est le suivant : 50 52 4f 4d 45 4e 45 55 52 - Forum C
2 réponses
kaelhula
Messages postés
48
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 avril 2009
25
1 avril 2008 à 13:20
1 avril 2008 à 13:20
Bonjour,
dis moi que veulent dire NE et EQ dans ton algo ? est-ce qu'on suppose que le tableau ne contient pas de case vide entre deux villes (il est "bien" remplit) ou pas ?
dis moi que veulent dire NE et EQ dans ton algo ? est-ce qu'on suppose que le tableau ne contient pas de case vide entre deux villes (il est "bien" remplit) ou pas ?
kaelhula
Messages postés
48
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
10 avril 2009
25
1 avril 2008 à 13:38
1 avril 2008 à 13:38
pour ma part je ferai ça : la saisie du nom de la ville, puis on parcourt le tableau existant : tant qu'on a pas trouvé de case vide, on coninue d'avancer dans le tableau, si on trouve une case vide, on insère le nom : il faut donc une boucle tant que, la boucle pour n'est pas appropriée car tu n'as pas forcément besoin de parcourir les 100 cases du tableau. dès que tu as un espace vide, tu t'arrêtes : une boucle tant que convient mieux je pense. ensuite, si on a pas pu insérer le nom et qu'on a donc parcouru le tableau en entier, on affiche le message d'erreur.
essaie de le faire par toi même, les petits exos comme ça sont ceux qui font bien comprendre !
sinon ça donne ça :
15 /
Var
Villes[100]
nom_ville: chaine
i:entier
ok:booleen
Debut
Afficher("Saisir la ville:")
Saisir(nom_ville)
i<- 1 // si ton tableau commence à 1
ok<- false //te permet en fin de boucle tant que de savoir si tu as inséré ta ville ou pas
tant que i<=100 && ok=false faire // si ton tableau commence à 1, sinon i=0 et tant que 1<100
Si Villes[i]<> "" Alors
i<- i+1
sinon
Villes[i]<- nom_ville
ok<- true
fsi
ftq
si ok=false alors //si tu n'as pas pu insérer tu affiches ton message d'erreur
Afficher ("Tableau complet")
Finsi
Fin
ça devrait marcher (après je peux me tromper, mais ça devrait être bon), si tu ne comprends pas quelque chose n'hésite pas à demander !
(le 16 arrive, je le regarde)
essaie de le faire par toi même, les petits exos comme ça sont ceux qui font bien comprendre !
sinon ça donne ça :
15 /
Var
Villes[100]
nom_ville: chaine
i:entier
ok:booleen
Debut
Afficher("Saisir la ville:")
Saisir(nom_ville)
i<- 1 // si ton tableau commence à 1
ok<- false //te permet en fin de boucle tant que de savoir si tu as inséré ta ville ou pas
tant que i<=100 && ok=false faire // si ton tableau commence à 1, sinon i=0 et tant que 1<100
Si Villes[i]<> "" Alors
i<- i+1
sinon
Villes[i]<- nom_ville
ok<- true
fsi
ftq
si ok=false alors //si tu n'as pas pu insérer tu affiches ton message d'erreur
Afficher ("Tableau complet")
Finsi
Fin
ça devrait marcher (après je peux me tromper, mais ça devrait être bon), si tu ne comprends pas quelque chose n'hésite pas à demander !
(le 16 arrive, je le regarde)
1 avril 2008 à 13:33
EQ "egal " pour chaine de caractere
Concernant le remplisage, on va supposer qu'il n'y a pas de case vide en villes insérés...ou...admettons qu'on considere les 2 cas
J'aimerais bien savoir les 2 algos
MErci
1 avril 2008 à 13:58
eh bien là on reprend le même principe sauf qu'on veut ajouter la ville au début : donc on va parcourir le tableau pour voir s'il n'est pas plein de la même façon que tout à l'heure, sauf que là si on trouve une case vide, on va vouloir libérer la première case du tableau et pour celà : on décale toutes les cases d'un rang ! bien sur en partant de la dernière pour ne pas écraser de données.
tente-le, regarde après ma solution (à tester) :
Var
Villes[100]
nom_ville: chaine
i, j :entier
ok:booleen
Debut
Afficher("Saisir la ville:")
Saisir(nom_ville)
i<- 1 // si ton tableau commence à 1
ok<- false //te permet en fin de boucle tant que de savoir si tu as inséré ta ville ou pas
tant que i<=100 && ok=false faire // si ton tableau commence à 1, sinon i=0 et tant que 1<100
Si Villes[i]<> "" Alors
i<- i+1
sinon
pour j allant de i à 2 par pas de -1 //toujours si ton tableau commence à 1
Villes[j]<- Villes[j-1] //la dernière case se décale de 1 : on libère ainsi sa case, et ainsi de suite
fpour
Villes[1]<- nom_ville //on met notre nom dans la première case maintenant libérée
ok<- true
fsi
ftq
si ok=false alors //si tu n'as pas pu insérer tu affiches ton message d'erreur
Afficher ("Tableau complet")
Finsi
Fin
voilà ^^