|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2006
Città: Palagiano
Messaggi: 88
|
[C++] Equazioni di secondo grado
Ciao a tutti!!Data una equazione x²-5x+4 le soluzioni sono 4 e 1;
ma al mio programma vengono -6.5 e -3.5 xkè? Codice:
#include <stdio.h>
#include <iostream>
#include <math.h>
int main()
{
using namespace std;
//dichiarazione variabili
double a,b,c,x1,x2,delta;
cout<<"Inserisci il coefficiente della x²";
cin>>a;
cout<<"Inserisci il coefficiente della x";
cin>>b;
cout<<"Inserisci il termine noto";
cin>>c;
//calcolo delta
delta = ((b*b)-(4*a*c));
cout<<"il delta e'"<<delta<<endl;
//calcolo soluzioni
x1 = -(b)-(sqrt (delta)) /(2*a);
x2 = -(b)+(sqrt (delta)) /(2*a);
if (delta == 0)
cout<<"Le soluzioni sono coincidenti: x1:"<<x1<<" x2:"<<x2<<endl;
else if (delta < 0)
cout<<"Non ci sono soluzioni reali"<<endl;
else
cout<<"Le soluzioni sono: x1:"<<x1<<" x2:"<<x2<<endl;
system("Pause");
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
C'è la precedenza degli operatori
La divisione viene fatta prima di addizione o sottrazione. Questa scrittura : Codice:
x1 = -(b)-(sqrt (delta)) /(2*a);
x2 = -(b)+(sqrt (delta)) /(2*a);
Il codice giusto è: Codice:
x1 = (-(b)-(sqrt (delta))) /(2*a);
x2 = (-(b)+(sqrt (delta))) /(2*a);
Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2006
Città: Palagiano
Messaggi: 88
|
Ora vengono -4 e -1
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
__________________
GPU Compiler Engineer |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Aug 2006
Città: Palagiano
Messaggi: 88
|
che valori metti?
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
__________________
GPU Compiler Engineer |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Aug 2006
Città: Palagiano
Messaggi: 88
|
Ah ecco sbagliavo io!!Grazie dell'aiuto
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:37.




















