Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: [c++] radice cubica

  1. #1
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87

    [c++] radice cubica

    salve, se devo calcolare la radice quadrata di un numero scrivo:
    codice:
    sqrt(n);
    come si chiama la funzione che chiama la radice cubica nel c++? uso la libreria standard #include<math.h>
    a scopo di esercizio volevo compilare questo programmino:
    codice:
    #include<iostream.h>
    #include<math.h>
    
    double quadrata(double c)
    {   return sqrt(c);   }
    
    double cubica(double d)
    {   return 2/(3 * (d * d));   }
    
    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': "<< cubica(n)<<"\n"<<endl;
             break; 
       case 3:
             return 0;
       default:
              //system("alarm");
              cout<<"scelta non compresa nelle alternative!\n";
             }
      system("pause");
      }
     }
    grazie dell'aiuto!

  2. #2
    pow( <radicando>, 1/<radice> );

    da math.h
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  3. #3
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87
    cioè nel mio caso sarebbe:
    codice:
    pow(n, 1/3)
    ?

  4. #4
    Originariamente inviato da mica81
    cioè nel mio caso sarebbe:
    codice:
    pow(n, 1/3)
    ?
    si
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  5. #5
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87
    hum strano però se provo il programma con 27 mi scrive 1 invece che 3...

  6. #6
    strano...

    prova con la funzione cbrt( <numero> );



    documentazione su POW

    http://groups.google.it/groups?hl=it....it%26rnum%3D1

    http://groups.google.it/groups?q=%22...nter.it&rnum=4
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  7. #7

    /!\ Dettagli sull'uso di POW /!\

    C'e' un errore abbastanza facile da comprendere,
    ma che a molti puo' risultare difficile da identificare a
    colpo d'occhio:

    pow(n,1/3) è sempre uguale a 1, perche' 1/3 e' una divisione
    intera e da sempre 0 come risultato. Almeno uno dei due operandi
    deve essere in virgola mobile.


    quindi...

    pow( <numero>, 1/3.0 );
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  8. #8
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    Scusate, ma io sapevo che il secondo argomento di pow() è un intero... quindi la conversione in int è autoatica anche con 1.0/3
    I've got a bike. You can ride it if you like.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    No. Il prototipo di pow è:
    codice:
    double pow(double x, double y);

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Comunque, per andare sicuro, fai:
    codice:
    pow(n, (double)1/3);

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