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
- An error occurred while unpacking unable to write data to disk unarc.dll returned an error code 11 ✓ - Forum Jeux PC
- Freebox qui redémarre en boucle ✓ - Forum Freebox
- Pc qui s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Eol while scanning string literal ✓ - Forum Python
1 réponse
yg_be
Messages postés
22804
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 mai 2024
1 469
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 :