Gestionnaire de Permutation
Fermé
MonCplusplus
Messages postés
21
Date d'inscription
lundi 23 avril 2018
Statut
Membre
Dernière intervention
9 mars 2019
-
13 oct. 2018 à 17:09
MonCplusplus Messages postés 21 Date d'inscription lundi 23 avril 2018 Statut Membre Dernière intervention 9 mars 2019 - 17 oct. 2018 à 19:56
MonCplusplus Messages postés 21 Date d'inscription lundi 23 avril 2018 Statut Membre Dernière intervention 9 mars 2019 - 17 oct. 2018 à 19:56
A voir également:
- Gestionnaire de Permutation
- Gestionnaire de périphérique - Guide
- Gestionnaire de photos - Guide
- Gestionnaire de fichier - Télécharger - Gestion de fichiers
- Gestionnaire de tache - Guide
- Gestionnaire des taches windows 11 - Guide
1 réponse
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
17 oct. 2018 à 10:17
17 oct. 2018 à 10:17
Salut MonCplusplus,
Si tu utilises les tableaux du C (ton code est du C à l'exception des cout et cin et du compilateur C++ que tu utilises probablement), le tableau d'origine est modifié car en C le passage d'un tableau à une fonction se fait toujours par son pointeur.
Donc ta solution de conserver une copie du tableau d'origine et de recopier les données dans le tableau de traitement est légitime.
Le seul moyen d'éviter cela (que je connaisse en C) est d'encapsuler le tableau dans une struct et de passer la struct par valeur à la fonction. C'est assez peu orthodoxe, et je ne suis pas sûr qu'il faille encourager cette pratique, mais cela devrait marcher. Le C opérera alors une copie du contenu de la struct, sur laquelle tu pourras travailler dans le cadre de ta fonction sans affecter la struct d'origine.
Si tu fais cela, outre les complications que cela ajoute, cela signifie aussi que l'affichage doit se faire à l'intérieur de chaque fonction, car le résultat des traitements de permutations est perdu dès que tu quittes la fonction.
Dal
Si tu utilises les tableaux du C (ton code est du C à l'exception des cout et cin et du compilateur C++ que tu utilises probablement), le tableau d'origine est modifié car en C le passage d'un tableau à une fonction se fait toujours par son pointeur.
Donc ta solution de conserver une copie du tableau d'origine et de recopier les données dans le tableau de traitement est légitime.
Le seul moyen d'éviter cela (que je connaisse en C) est d'encapsuler le tableau dans une struct et de passer la struct par valeur à la fonction. C'est assez peu orthodoxe, et je ne suis pas sûr qu'il faille encourager cette pratique, mais cela devrait marcher. Le C opérera alors une copie du contenu de la struct, sur laquelle tu pourras travailler dans le cadre de ta fonction sans affecter la struct d'origine.
Si tu fais cela, outre les complications que cela ajoute, cela signifie aussi que l'affichage doit se faire à l'intérieur de chaque fonction, car le résultat des traitements de permutations est perdu dès que tu quittes la fonction.
Dal
17 oct. 2018 à 19:56
Merci beaucoup pour ta remarque très pertinente . Certes l'utilisation des pointeurs implique que mon code soit plus en C soit qu'en c++ . Ce que je voudrais savoir C'est dans l'ensemble de mon programme est-ce qu'il y'a des choses que je pourrais amélioré ou éviter de faire ? a savoir concernant l'utilisation de mes paramètre , mes méthodes ... ?
Merci à toi .