Multiplication successive de puissance en C..

Résolu/Fermé
sikim69
Messages postés
33
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2013
- 14 nov. 2012 à 18:15
sikim69
Messages postés
33
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2013
- 15 nov. 2012 à 15:18
Bonjour tout le monde.

Voilà, depuis hier je me prend la tete sur un programme sur lequel je ne trouve aucunes solutions.

L'ennoncé est pourtant clair :

Calculer par multiplications successives la puissance N d'un nombre X. N et X sont entrés au
clavier et doivent être positifs.

Voilà comment j'essaye de faire moi

#include<stdio.h>
#include<math.h>
#include<conio-bis.h>

int main ()
{
int N,i,ok;
int X, puissance=0;

printf("Entrez la base de la puissance : ");
scanf("%d",&X);
printf("\nEntrez l'exposant de la puissance : ");
scanf("%d",&N);
do
{
ok=0;
if ((X<0)||(N<0))
{
ok=1;
}
} while (ok==1);


for (i=0;i<=N+1;i++)
{
puissance=pow(X,1)*pow(X,N--);
getch();
printf("%d\n",puissance);
}

printf("\nLe resultat est de %d\n",puissance);





getch(); getch();
return 0;
}


Premiere partie du programme, je verifie si les nombres entrées sont positifs.
Apres j'essaye de trouver une formule pour que je puisse faire une multiplication successive du genre 2^3 * 2^2 * 2^1 = 64. Mais depuis deux jours aucunes formules ne marche..

Qui pourrait essayer de m'aider ? Essayer le programme là sur son pc et me dire qu'est ce qui cloche, qu'est ce qui ne va pas ?

Bonne soirée à tous !

A voir également:

2 réponses

Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
14 nov. 2012 à 18:37
if ((X<0)||(N<0))
Je me trompe peut-être .. je lis : SI ((X est plus petit que 0) OU (N est plus petit que 0)) .. dans ce cas "OK" est égal à 1
Et ensuite tu dis "TANT QUE (OK est égal à 1)
?? C'est normal
2
sikim69
Messages postés
33
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2013
1
14 nov. 2012 à 19:36
Cela veut dire que si ok = 1 on ne sort pas de la boucle et on reste dedans.. ^^
0