Multiplication successive de puissance en C..

Résolu
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 !

2 réponses

  1. 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
    3
    1. Cela veut dire que si ok = 1 on ne sort pas de la boucle et on reste dedans.. ^^
      0