Boucles imbriquées WHILE qui ne fonctionnent pas
Résolu/Fermé
artagon7
Messages postés
417
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
12 novembre 2024
-
18 déc. 2019 à 17:58
artagon7 Messages postés 417 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 12 novembre 2024 - 21 déc. 2019 à 17:50
artagon7 Messages postés 417 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 12 novembre 2024 - 21 déc. 2019 à 17:50
A voir également:
- Boucles imbriquées WHILE qui ne fonctionnent pas
- Pc qui s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mon PC s'allume puis s'éteint tout seul. Que faire ? ✓ - Forum Matériel & Système
- An error occurred while unpacking unable to write data to disk unarc.dll returned an error code 11 ✓ - Forum Jeux PC
- Smart tv qui s'allume et s'éteint en boucle - Forum TV & Vidéo
1 réponse
yg_be
Messages postés
23364
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 décembre 2024
Ambassadeur
1 556
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 :