Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    4

    [C++] esercizio metodo di bisezione.

    salve a tutti,
    devo costruire un programma che calcoli lo zero di un polinomio con il metodo di bisezione.
    vi posto quello che ho fatto fin ora.
    Codice PHP:
    #include <iostream>#include<cmath>
    using namespace std;
    int main()    {int abcdestrinfestrsupappfunzione1funzione2medxy;cout<< "inserisci il coefficiente del termine di terzo grado"<<endl;cin>>a;cout<< "inserisci il coefficiente del temrine di secondo grado"<<endl;cin>>b;cout<< "inserisci il coefficiente del temrine di primo grado"<<endl;cin>>c;cout<< "inserisci il termine noto"<<endl;cin>>d;cout<< "inserisci l'estremo inferiore"<<endl;cin>>estrinf;cout<< "inserisci l'estremo superiore"<<endl;cin>>estrsup;cout<< "inserisci l'approssimazione"<<endl;cin>>app;if(estrinf>estrsup){    cout<< "gli estremi inseriti non sono corretti"<<endl;
    }else{
    med=(estrsup+estrinf)/2;x=med;y=estrinf;funzione1=a*pow(x,3)+b*pow(x,2)+c*x+d;funzione2=a*pow(y,3)+b*pow(y,2)+c*y+d;while(funzione1<app||funzione1<-app){if(funzione1*funzione2>0){    estrinf=x;    estrsup=estrsup;}else{        estrinf=estrinf;        estrsup=x;}}
    cout<< "lo zero della funzione è : "<<x<<endl;}


        return 
    0;} 

    questo programma "funziona" ma non correttamente;
    verifica che gli estremi sono accettabili o meno , poi però non mi dà un valore corretto del risultato.
    mi dà come risultato sempre il punto medio dell'intervallo!
    sapreste darmi una mano ?
    cosa manca, dove ho sbagliato?

    Grazie a tutti!
    Ultima modifica di sici_90; 09-03-2015 a 21:32

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quel codice è illeggibile ... indentalo correttamente o non sarà possibile darti un consiglio ...

    Ma poi che senso hanno righe come queste

    estrsup=estrsup;

    estrinf=estrinf;


    ??
    Ultima modifica di oregon; 09-03-2015 a 22:56
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    4
    Codice PHP:
    #include <iostream>
    #include<cmath>
    using namespace std;
    int main()  
      { 
           
    float abcdestrinfestrsupappfunzione1funzione2medxy;
    cout<< "inserisci il coefficiente del termine di terzo grado"<<endl;
    cin>>a;
    cout<< "inserisci il coefficiente del temrine di secondo grado"<<endl;
    cin>>b;
    cout<< "inserisci il coefficiente del temrine di primo grado"<<endl;
    cin>>c;
    cout<< "inserisci il termine noto"<<endl;
    cin>>d;
    cout<< "inserisci l'estremo inferiore"<<endl;
    cin>>estrinf;
    cout<< "inserisci l'estremo superiore"<<endl;
    cin>>estrsup;
    cout<< "inserisci l'approssimazione"<<endl;
    cin>>app;

    if(
    estrinf>estrsup)    
    {

        
    cout<< "gli estremi inseriti non sono corretti"<<endl;
    }

    else    


    med=(estrsup+estrinf)/2;
    x=med;
    y=estrinf;
    funzione1=a*pow(x,3)+b*pow(x,2)+c*x+d;
    funzione2=a*pow(y,3)+b*pow(y,2)+c*y+d;
    while(
    funzione1<app||funzione1<-app)
    {   

     if(
    funzione1*funzione2>0)
    {    
    x=estrinf;  
      
    estrsup=estrsup;
    }
    else
    {        
    estrinf=estrinf;     
       
    x=estrsup;
    }
    }
    cout<< "lo zero della funzione è : "<<x<<endl;
    }
    return 
    0;


    Ora dovrebbe essere piu chiaro;
    si, effettivamente quelle stringhe non servono!
    grazie!

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.