Problème de programation C
Fermé
Paul_Le_Brave
Messages postés
63
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2012
-
10 avril 2009 à 17:34
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 avril 2009 à 19:03
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 avril 2009 à 19:03
A voir également:
- Problème de programation C
- Programation ✓ - Forum Programmation
- La programation - Forum Programmation
- Programation - Forum Programmation
- Programation - Forum Programmation
- Programation - Forum Études / Formation High-Tech
5 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
10 avril 2009 à 17:40
10 avril 2009 à 17:40
Tu définis plusieurs fois ta variable. D'où le problème.
Ou alors, tu peux constater que max=10 puissance niveau et min vaut toujours 1.
Donc, une simple petite boucle for (ou pow). Et en plus tu pourras avoir une constante.
Ou alors tu peux utiliser un tableau des valeurs de max s'il n'existe pas de relation entre le niveau et la valeur de max.
int max,min; switch(niveau) { case 1: max=10; min=1; break; case 2: etc... }
Ou alors, tu peux constater que max=10 puissance niveau et min vaut toujours 1.
Donc, une simple petite boucle for (ou pow). Et en plus tu pourras avoir une constante.
Ou alors tu peux utiliser un tableau des valeurs de max s'il n'existe pas de relation entre le niveau et la valeur de max.
Déja,je te conseille de faire virer ton bloc imbriqué de if et else en un bloc switch ,cela
évitera ces genres d'erreurs.
évitera ces genres d'erreurs.
Paul_Le_Brave
Messages postés
63
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2012
4
10 avril 2009 à 18:04
10 avril 2009 à 18:04
Ok mais comment tu le ferai toi la boucle for ???
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
10 avril 2009 à 18:36
10 avril 2009 à 18:36
Voici un exemple de programme :
#include <stdio.h> static int puissance(const int base, int exp) { int res=1; while(exp--) res*=base; return res; } static int val_max(const int niveau) { return puissance(10,niveau<9?niveau:9); } int main(void) { const int min=1; const int max=val_max(5); printf("min=%d, max=%d\n",min,max); return 0; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Paul_Le_Brave
Messages postés
63
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2012
4
10 avril 2009 à 18:55
10 avril 2009 à 18:55
ok merci je test !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
10 avril 2009 à 19:03
10 avril 2009 à 19:03
D'ailleurs, dans mon exemple je me suis arrêté au niveau 9 au lieu 10 comme t'as fait. Donc le nombre maximum sera 10 puissance 9 dans mon exemple. Pour que ce soit 10 puissance 10 il faudra utiliser le type long long int. Et la fonction renverrait : return puissance(10,niveau<10?niveau:10);
Cdlt
Cdlt