Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16

Discussione: [c++] radice cubica

  1. #11
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Mi sono informato e non mi ero sbagliato di molto...
    Il prototipo di pow() è sì
    codice:
    double pow( double base, double exp );
    ma il secondo parametro deve essere necessariamente INTERO, atrimenti viene lanciato un errore di dominio.

    Fonte:
    www.cppreference.com
    pow
    Syntax:

    #include <math.h>
    double pow( double base, double exp );

    The pow() function returns base raised to the exp power. There's a domain error if base is zero and exp is less than or equal to zero. There's also a domain error if base is negative and exp is not an integer. There's a range error if there's an overflow.
    quindi niente cubica per ora
    I've got a bike. You can ride it if you like.

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Ehm ... Hai letto male ... Lì c'è scritto che l'errore si verifica solo quando la base è 0 e l'esponente è negativo (normale) o la base è negativa e l'esponente è frazionario (normale)

  3. #13
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Per capirci, non puoi scrivere:

    codice:
    pow(0, -1); //infatti è uguale a 1/0 -> errore di dominio;
    pow(-1, 1/2); //infatti è uguale a 1i -> errore di dominio;
    Per il resto gli esponenti non interi sono perfettamente validi.

  4. #14
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    pow(27.0, (double)1/3)

    o

    pow(27.0, 1/3.0)

    o

    pow(27.0, 1.0/3)

    se no 1/3 è la divisione intera che fa zero e quindi elevi 27 a zero ottenendo 1.0

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  5. #15
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87
    grazie! per la cronaca...
    codice:
    #include<iostream.h>
    #include<math.h>
    
    double quadrata(double c)
    {   return sqrt(c);   }
    
    int main()
    {
     while(true)
     {
      double n;
      int scelta;
      cout<<"\n";
      cout<<"1 Calcolare la radice quadrata\n";
      cout<<"2 Calcolare la radice cubica\n";
      cout<<"3 Esci\n";
      cin>>scelta;
      switch(scelta)
      {
       case 1:
             cout<<"Inserisci un numero: ";
             cin>>n;
             cout<<"\n"<<"La radice quadrata di "<< n <<" e': "<< quadrata(n)<<"\n"<<endl;
             break;
       case 2:
             cout<<"Inserisci un numero: ";
             cin>>n; 
             cout<<"\n"<<"La radice cubica di "<< n <<" e': "<< pow(n, (double)1/3)<<"\n"<<endl;
             break; 
       case 3:
             return 0;
       default:
              //system("alarm");
              cout<<"scelta non compresa nelle alternative!\n";
             }
      system("pause");
      }
     }

  6. #16
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Giusto, forse era meglio se testavo prima.
    Ora ho le idee un po' più chiare...
    I've got a bike. You can ride it if you like.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.