IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[Débutant] A la puissance B (A^B)


Sujet :

C

  1. #1
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut [Débutant] A la puissance B (A^B)
    Salut,

    Voila j’ai fait un petit code C, afin de pouvoir calculer un nombre x à la puissance y d'ou X^Y (ou A^B).

    Le programme fonctionne, mais j'ai des problème avec les chiffres négatif, à savoir:
    -2^2 = -4
    Normalement or dans mon programme j'ai le droit à ça
    -2^2 = 4..

    Sachant que par exemple si je fait:
    -2^5 = -32
    Dans ce cas là il fonctionne mais si je met n'importe quoi d'autre j'ai le droit a un chiffre positif !
    Et si il n’y a pas un moyen plus simple de le faire ou si vous voyez quelque chose qui cloche dans mon code ^^.

    Le pgm a été compilé avec Dev C++ et Visual C++ v6

    Voila le code du programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    /*    
    **   Auteur: Oyo 
    **   Fichier: a^b
    */ 
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
    	int x, y, i, z = 1;  /* Initialisation des vars */   
     
    	printf("Donnez un nombre: ");  /* Affichage du txt */ 
    	scanf("%d",&x);  /* Récupération de la var X */ 
     
    	printf("Donnez une puissance: ");  /* Affichage du txt */ 
    	scanf("%d",&y);  /* Récupération de la puissance Y */ 
     
    	/* 
    	**  On verrifie X ==0 et Y == 0
    	**  Si vrai on affiche une erreur
    	**  Sinon on continue. 
    	*/ 
    	if ( (x == 0) && (y == 0) )
    	{
    		printf("\n\nErreur: la puissance est indeterminee\n"); 	   
    	}
    	else
    	{
    		/*
    		** Initialisation de la boucle
    		*/ 
    		for(i=0; i<y; i++) 
    		{ 
    			z = z * x; 
    		} 
     
    		/* 
    		**  Une fois le calcule faite on affiche le résultat.     
    		*/ 
    		printf("\n\n%d^%d = %d\n", x, y, z);
    	}
     
    	system("PAUSE");	
    	return 0;
    }
    Merci par avance de votre aide,
    Cordialement.

    .: Edit :.
    Correction du code remplacement des || par &&.
    Merci Le Furet

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Heu pour moi (-2)^2 ca fait bien 4 parce que puissance paire....
    Je rapelle que si tu veux un carré négatif, il faut recourir aux nombres complexes (i)^2=-1
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut
    (-2)^2=(-2)*(-2)=4.

    C'est ce que je rabâche à mes élèves de 2nde, qui devraient le savoir depuis la 4ème.

    Au passage, un chiffre négatif, ça n'existe pas. Un nombre négatif par contre oui. Pour rappel, un chiffre, c'est juste un symbole (0,1,2,3,4,5,6,7,8,9 en numération décimale) à l'aide duquel on écrit un nombre.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut
    Toujours au passage, la seule puissance indéterminée (tant qu'on parle de puissances entières, ça a l'air d'être le cas ici), c'est 0^0. Donc ton test de puissance indéterminé devrait être plutôt ( (X==0) && (Y==0) ).

    Pour le reste, je laisse ED gronder

  5. #5
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut
    Salut ze_key,

    Effectivement on est d’accord que
    (-2)^2 = 4
    Or dans ce que je fais il n’y a pas de parenthèse qui implique que dans ce cas là :
    -2^2 = -4
    Ce qui revient à faire
    -(2)^2 =-4


    Je sais qu’un nombre au carré est toujours positif
    Je rappelle que si tu veux un carré négatif, il faut recourir aux nombres complexes (i)^2=-1
    Je dirais plus : "je t’appends […]" ^^ je suis un débutant… Je crois que je vais oublié les puissance négative , j’ai pas encore appris les nombre complexes et déjà que je suis pas super fort en maths :/

    Le Furet, c’est joué sur les mots (chiffre, nombre) .. Oui effectivement comme d’habitude j’ai encore fait l’erreur avec les && et les || :/ j’y arriverai jamais

    Merci de votre aide,
    Cordialement.

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut

    la ton programme fonctionne puisqu'il élève bien le nmbre rentré à la puissance désiré.
    Tu fais bien cela dans ta boucle donc je ne comprends pas ton histoire de parenthèses...
    ton code calcule un x^y mais il ne fais pas d'autres opérations (comme prndre l'opposé de ce nombre)

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut
    Citation Envoyé par Darkenshin
    Le Furet, c’est joué sur les mots (chiffre, nombre) ..
    Tu dis "jouer sur les mots" ou "jouer sur les lettres" ? Tu fais donc la différence entre "lettre" et "mot" ? Ben "chiffre" et "nombre", c'est pareil

  8. #8
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut
    Salut Cybher,

    Effectivement le pgm fonctionne, seulement lorsque tu fait un calcule de puissance si ton nombre (chiffre :p) est négatif tu fait bien :
    (-5)^2 = 25
    Or si tu ne mets pas de parenthèse sur ta calculette et que tu fais:
    -5^2 elle t’affichera -25 (ou alors je suis complément c*n et je sais pas me servir d’une calculette).

    Le Furet, lol.

    Merci de votre aide,
    Cordialement.

  9. #9
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    Salut,

    la tu rentre un nombre puis la puissance à laquelle l'élever. c'est donc différent.
    quand tu fais cela avec ta claculatrice il élève ton nombre à la puissance puis il fait le (6) soit une soustraction. Or ton code ici ne fait que l calcul de la puissance.

  10. #10
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par Le Furet
    (-2)^2=(-2)*(-2)=4.

    C'est ce que je rabâche à mes élèves de 2nde, qui devraient le savoir depuis la 4ème.

    Au passage, un chiffre négatif, ça n'existe pas. Un nombre négatif par contre oui. Pour rappel, un chiffre, c'est juste un symbole (0,1,2,3,4,5,6,7,8,9 en numération décimale) à l'aide duquel on écrit un nombre.
    [mode troll]C'est effectivement ce que je leur apprends, et qu'ils s'empressent souvent d'oublier. Même remarque pour nombres et chiffres, mais là c'est en sixième
    [/mode troll]
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  11. #11
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut
    Salut Cybher,

    Merci je comprend mieux
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Commande des puissances
    Par driss2015 dans le forum Simulink
    Réponses: 1
    Dernier message: 14/11/2015, 01h59
  2. [MIPS][Débutant] Calcul d'une puissance
    Par Claiw dans le forum Autres architectures
    Réponses: 14
    Dernier message: 21/12/2007, 04h33
  3. [Débutant] Puissance
    Par pelotudo dans le forum VHDL
    Réponses: 1
    Dernier message: 22/05/2007, 19h47
  4. Question de débutant : Faire une puissance en c++
    Par Spartan03 dans le forum C++
    Réponses: 1
    Dernier message: 15/09/2005, 18h55
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo