esponente con la funzione

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
fenics
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 640
Iscrizione: giovedì 20 agosto 2009, 10:09
Contatti:

esponente con la funzione

Messaggio da fenics »

Ciao di nuovo a tutti rag, mi serve un altro aiutino.
Ho fatto questo programma in c, in pratica il calcolo dell'esponente usando la funzione. solo che c' è un errore, innanzitutto se calcolo esponenti piuttosto alti come es. 5alla3, mi calcola 124 anzichè 125. come mai??

Codice: Seleziona tutto

#include<stdio.h>
#include<math.h>


int num(int x, int y)
{
    return pow(x,y);
}
int main(void)
{
    int a, b, e;
    scanf("%d %d", &a, &b);

    e=num(a,b);
    printf("%d", e);

    return 0;
}
Avatar utente
fenics
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 640
Iscrizione: giovedì 20 agosto 2009, 10:09
Contatti:

Re: esponente con la funzione

Messaggio da fenics »

in realtà mi sto accorgento che il problema riguarda solo il numero 5, per tutti gli altri va bene
1001001
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1506
Iscrizione: mercoledì 22 dicembre 2010, 18:09
Desktop: Unity
Distribuzione: Ubuntu 14.04.1 LTS 64bit
Località: Verona

Re: esponente con la funzione

Messaggio da 1001001 »

"I find your lack of faith disturbing."
Avatar utente
fenics
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 640
Iscrizione: giovedì 20 agosto 2009, 10:09
Contatti:

Re: esponente con la funzione

Messaggio da fenics »

ma li non spiega una funzione
1001001
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1506
Iscrizione: mercoledì 22 dicembre 2010, 18:09
Desktop: Unity
Distribuzione: Ubuntu 14.04.1 LTS 64bit
Località: Verona

Re: esponente con la funzione

Messaggio da 1001001 »

Sì, ma è la stessa cosa: stai mettendo il risultato di pow (cioè un double) in un int. Il fatto che tu passi da una funzione è secondario..
"I find your lack of faith disturbing."
Avatar utente
fenics
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 640
Iscrizione: giovedì 20 agosto 2009, 10:09
Contatti:

Re: esponente con la funzione

Messaggio da fenics »

capito, cmnq niente di risolto. A funzionare funziona su tutto, è quella maledetta base 5 che, elevata a potenza, restituisce il risultato -1
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: esponente con la funzione

Messaggio da Zoff »

Cambia il valore restituito dalla funzione num() da int a double e vedrai che funziona.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: esponente con la funzione

Messaggio da vaeVictis »

Dichiara anche la variabile e come double

Codice: Seleziona tutto

    int a, b, e;
...
    e=num(a,b);
altrimenti hai un cast ad int a "posteriori".
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti