Programma che calcola la potenza.

di il
3 risposte

Programma che calcola la potenza.

Ho scritto il mio listato ma tanto per cambiare non funziona.
Mi aiutate a scoprire dove sta l'errore?
#include <stdio.h>

int pot (int,int);


int pot (int x, int y)
{
int i;  /*contatore per la moltiplicazione*/
int z=0;

for (i=1; i<=y; i++) z=x*x; /* moltiplica x per x tante volte quanto e' il valore di esp.*/
return z;
}

int main ()
{
int base,esp;
printf("immettere base ed esponente: ");
scanf("%d%d", &base,&esp);

printf("\n%d elevato a %d fa: %d",base,esp,pot(base,esp));
return 0;
}

3 Risposte

  • Re: Programma che calcola la potenza.

    Scusa ma la funzione che hai scritto tu è come se ripetesse y volte n al quadrato..

    devi inserire dei casi.. un numero elevato alla 0 fa sempre 1, un numero elevato alla 1 da se stesso..

    2^4 si fa -> 2*2=4 4*2=8 8*2=16

    si moltiplica il risultato x la base y volte..

    ecco il codice che dovrebbe funzionare
    #include <stdio.h>
    
    int pot (int,int);
    
    
    int pot (int x, int y)
    {
    int i;  /*contatore per la moltiplicazione*/
    int z=0;
    if(y==0) return 1;
    if(y==1) return x;
    else
    {
        z=x*x;    
        for (i=3; i<=y; i++) z=z*x; /* moltiplica x per x tante volte quanto e' il valore di esp.*/
        return z;
    }
    }
    
    int main ()
    {
    int base,esp;
    printf("immettere base ed esponente: ");
    scanf("%d%d", &base,&esp);
    
    printf("\n%d elevato a %d fa: %d",base,esp,pot(base,esp));
    getch();
    return 0;
    }
    
  • Re: Programma che calcola la potenza.

    In c++ puoi farlo in automatico anche così:
    #include <math.h>
    #include<iostream>
    #include <windows.h>
    
    using namespace std;
    
    
    int a,b,ris;
    int main()
    {
    cout<<"Inserireil numero da elevare a potenza"<<endl;
    cin>>a;
    system("cls");
    cout<<"inserire la potenza"<<endl;
    cout<<a<<"^";
    cin>>b;
    ris=pow(a,b);
    system("cls");
    cout<<"Il risultato e' "<<ris<<endl;
    system("pause");
    system("cls");
    return main();
    }
  • Re: Programma che calcola la potenza.

    Quoto... un programma è tanto bello quanto il suo codice sorgente è snello
    per cui prova questo...
    #include <stdio.h>
    #include <conio.h>
    #include <math.h> /*Comprende le funzioni matematiche (in questo programma la funzione
                                pow(base,esponente) ovvero la funzione che esegue la potenza)*/
    
    float base, esponente, risultato;  /*Dichiaro le variabili float in modo tale che possa calcolarle 
                                                      anche se non sono intere..*/
    
    main()
    { 
          printf("Inserire la base: ");
          scanf("%f",&base);
          printf("\n\nInserire l'esponente: ");
          scanf("%f",&esponente);
          risultato=pow(base,esponente);
          printf("\n\nIl risultato e' pari a: %.2f",risultato);
          getch(); /*Fa in modo che il programma non si chiuda immediatamente dopo l'apertura*/
    }
    
    provalo pure.. funziona benissimo ^__^
Devi accedere o registrarti per scrivere nel forum
3 risposte