A voir également:
- Probleme sur la Boucle WHILE
- Bash do while ✓ - Forum Shell
- Factorielle en c boucle while - Forum C
- Mon pc s'allume et s'éteint en boucle - Forum Matériel informatique
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Boucle cmd - Forum Programmation
4 réponses
xiloa
Messages postés
2094
Date d'inscription
mercredi 18 juin 2008
Statut
Contributeur
Dernière intervention
2 décembre 2010
199
17 déc. 2008 à 23:25
17 déc. 2008 à 23:25
salut, il ne manque pas un j=0 en fin de première boucle ?
Enfaite, sur la premiere boucle, le programme fonctionne correctement sans i=0, le resultat de la comparaison des deux tableaux est OK.
Le probleme c'est bien la boucle WHILE, je ne comprends pas et pourtant j'ai juste changé une boucle par une autre mais pas le corps de la boucle !!!!
Je me tappe la tete depuis 2 jours, merci pour votre aide
Le probleme c'est bien la boucle WHILE, je ne comprends pas et pourtant j'ai juste changé une boucle par une autre mais pas le corps de la boucle !!!!
Je me tappe la tete depuis 2 jours, merci pour votre aide
xiloa
Messages postés
2094
Date d'inscription
mercredi 18 juin 2008
Statut
Contributeur
Dernière intervention
2 décembre 2010
199
18 déc. 2008 à 17:47
18 déc. 2008 à 17:47
a mon avis, j=0 doit descendre de 2 lignes
Bonjour,
Merci XIOLA pour votre patience !! Effectivement la 2eme boucle fonctionne avec "j=0"
for ((i=0;i<=$nb_lignesA;i++))
do
j=0
while [ "$j" -le "$nb_lignesB" ] #for ((j=0;j<=$nb_lignesB;j++))
do
if [ "${tabA[i]}" = "${tabB[j]}" ];
then total=$(($total+1))
continue 2
elif [ $j = $nb_lignesB ]; then
echo "Problem in ligne : $i"
nb_lignesC=$(($nb_lignesC+1))
fi
j=$(($j+1))
done
done
Et si je fais la meme chose avec la premiere boucle, cela ne fonctionne toujours pas !!!!
i=0
while [ "$i" -le "$nb_lignesA" ]
do
j=0
while [ "$j" -le "$nb_lignesB" ] #for ((j=0;j<=$nb_lignesB;j++))
do
if [ "${tabA[i]}" = "${tabB[j]}" ];
then total=$(($total+1))
continue 2
elif [ $j = $nb_lignesB ]; then
echo "Problem in ligne : $i"
nb_lignesC=$(($nb_lignesC+1))
fi
j=$(($j+1))
done
i=$(($i+1))
done
avec ou bien sans l'initialisation de i=0, le programme bloc !!!
Merci
Merci XIOLA pour votre patience !! Effectivement la 2eme boucle fonctionne avec "j=0"
for ((i=0;i<=$nb_lignesA;i++))
do
j=0
while [ "$j" -le "$nb_lignesB" ] #for ((j=0;j<=$nb_lignesB;j++))
do
if [ "${tabA[i]}" = "${tabB[j]}" ];
then total=$(($total+1))
continue 2
elif [ $j = $nb_lignesB ]; then
echo "Problem in ligne : $i"
nb_lignesC=$(($nb_lignesC+1))
fi
j=$(($j+1))
done
done
Et si je fais la meme chose avec la premiere boucle, cela ne fonctionne toujours pas !!!!
i=0
while [ "$i" -le "$nb_lignesA" ]
do
j=0
while [ "$j" -le "$nb_lignesB" ] #for ((j=0;j<=$nb_lignesB;j++))
do
if [ "${tabA[i]}" = "${tabB[j]}" ];
then total=$(($total+1))
continue 2
elif [ $j = $nb_lignesB ]; then
echo "Problem in ligne : $i"
nb_lignesC=$(($nb_lignesC+1))
fi
j=$(($j+1))
done
i=$(($i+1))
done
avec ou bien sans l'initialisation de i=0, le programme bloc !!!
Merci