Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5

    [C] Problema con una funzione

    Salve a tutti,

    ho un problema con una funzione che deve semplicemente calcolarmi la potenza di due numeri: uno inserito da me, l'altro generato in un ciclo da 1 a 4. Quando vado a compilare però mui stampa il messaggio di errore : undefined reference to ''pow''.
    Non è che devo usare i puntatori?

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

    double potenza (int, double);

    main () {

    int n;
    double alpha, x;

    do {
    printf("Inserire un valore di alpha, anche razionale: ");
    scanf("%lf", &alpha);
    if (alpha <= 0) {printf("Il valore di alpha non è accettabile; deve essere positivo!\n");} }
    while (alpha <= 0);

    for (n = 1; n < 4; n++) {x = potenza (n, alpha);

    printf("%d alla %lf vale: %lf", n, alpha, x);

    }

    }

    /*Funzione potenza*/
    double potenza (int n, double alpha) {

    double x;

    x = pow (n, alpha);

    return x; }

    Grazie in anticipo, Filippo.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Prova con

    x = pow ((double)n, alpha);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    41
    E' strano.

    Che compilatore usi? Il tuo codice compilato su Visual Studio funziona al 100%.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5
    Uso gcc. Il problema è che mi servirebbe per risolvere un problema un pò più complesso per l'università in cui compaiono potenze ed esponenziali, ma per entrambe mi stampa sempre lo stesso messaggio di errore.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Richiami il gcc con l'opzione -lm per il linker?
    every day above ground is a good one

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da fil23
    Uso gcc. Il problema è che mi servirebbe per risolvere un problema un pò più complesso per l'università in cui compaiono potenze ed esponenziali, ma per entrambe mi stampa sempre lo stesso messaggio di errore.
    Se usi gcc, il tuo problema è sicuramente di linking della libreria matematica, come ti ha detto YuYevon.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5
    Pensavo pure io che fosse quello, ma lo richiamo sempre. Ora provo a farlo partire con Code blocks su windows, perchè proprio non ho idea di cosa possa essere.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da fil23
    lo richiamo sempre.
    Cosa scrivi per compilare con gcc?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    5
    Scrivo

    gcc -lm -o nome_programma nome_programma.c

    Non riesco proprio a capire

  10. #10
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Prova:
    codice:
    gcc nome_programma.c  -lm /usr/lib/libm.a -o nome_programma

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.