Boucles imbriquées WHILE qui ne fonctionnent pas
Résolu/Fermé
artagon7
Messages postés
415
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
11 février 2024
-
18 déc. 2019 à 17:58
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 - 21 déc. 2019 à 17:50
artagon7 Messages postés 415 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 11 février 2024 - 21 déc. 2019 à 17:50
A voir également:
- Boucles imbriquées WHILE qui ne fonctionnent pas
- Boucle while batch - Forum Programmation
- Freebox qui redémarre en boucle ✓ - Forum Freebox
- An error occurred while unpacking unable to write data to disk unarc.dll returned an error code 11 ✓ - Forum Jeux PC
- Please stand by, while we are checking your browser... ✓ - Forum Mozilla Firefox
- Pc qui s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
1 réponse
yg_be
Messages postés
22724
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 avril 2024
1 476
18 déc. 2019 à 18:41
18 déc. 2019 à 18:41
bonjour,
quand le programme arrive pour la seconde fois au début de la boucle interne, il a déjà lu tout le fichier B, donc il me semble normal qu'il se comporte comme tu observes.
quand le programme arrive pour la seconde fois au début de la boucle interne, il a déjà lu tout le fichier B, donc il me semble normal qu'il se comporte comme tu observes.
18 déc. 2019 à 20:27
Qu'est-ce que je devrais changer au programme pour que celui-ci lise le fichier B un nombre de fois égal au nombre de lignes que contient le fichier A?
Merci pour ta réponse.
18 déc. 2019 à 23:07
1) utiliser seek pour se repositionner en début de fichier B en ligne 27
2) déplacer le open de B en ligne 27, et le close de B en ligne 36
19 déc. 2019 à 00:36
19 déc. 2019 à 03:09
19 déc. 2019 à 19:32
Le programme est fonctionnel mais il n'est pas optimal. En effet, lorsque le programme trouve deux mots identiques, il continue la lecture du fichier B. Idéalement, il devrait sortir de la boucle interne car chaque mot ne se retrouve qu'une fois dans chaque fichier. Il devient donc inutile de continuer la lecture du fichier B lorsqu'un mot a été trouvé. Je vais tenter d'insérer une commande comme BREAK si ça existe dans Perl.
Voici le code :