![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.05.2009
Сообщений: 11
|
![]()
Трабл таков, уже 4 пару сижу не могу сделать задачу.
Задача: Разработать программу решения уравнения ax2+bx+c=0 , где a, b, c - любые веще-ственные числа. Два кода. 1) выводит .INF int a,b,c; cout << "vvedite a,b,c:" << endl; cin >> a; cin >> b; cin >> c; if (a==0 && b==0 && c==0) { cout << "x luboe chislo" << endl; } else { if (a==0) { float x=(float)(-c)/(float)b; cout << "x raven" <<x << endl; } else { if (c==0) { float x1=0; float x2=-b/a; cout << "pervii x:" << x1<<"/tVtroi x:" << x2 << endl; } if(b==0) { float x1=+sqrt((float)(-c)/(float)a); float x2=-sqrt((float)(-c)/(float)a); cout << "pervii x:" << x1 << "/tVtoroi x:" << x2 << endl; } else { if (a==0 && b==0) { cout << "x luboe chislo" << endl; } if (a==0 && b==0) { cout << "x luboe chislo" << endl; } if ((a==0 && c==0)||(b==0 && b==0)) { cout << "x raven 0" << endl; } if (a!=0 && b!=0 && c!=0) { float d = b*b - 4*a*c; if ( d>0) { float x1 =(-b+sqrt(d))/(2.0*a); float x2 =(-b-sqrt(d))/(2.0*a); cout << "pervii x:" << x1 << "/tVtoroi x:" << x2 << endl; } else { cout << "kornei net" << endl; } } } } } 2) Решает не правельно и выводит .inf double a,b,c,d; cout << "vvedite a,b,c:" << endl; cin >> a; cin >> b; cin >> c; if (a==0 && b==0 && c==0) { cout << "x luboe chislo" << endl; } else { if (a==0) { float x=(float)(-c)/(float)b; cout << "x raven" << x << endl; } else { d = b*b-4*a*c; if(d >=0 ) { float x1 =(-b+sqrt(d))/(2.0*a); float x2 =(-b-sqrt(d))/(2.0*a); cout << "pervii x:" << x1 << "/tVtoroi x:" << x2 << endl; } else { cout << "kornei net" << endl; } } } Вот мужики в чём трабл. Реально уже выбешивает этот код. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 664
|
![]()
int a,b,c; //обьявили целое??
(float)(-c)/(float)b; //теперь дробные? Не проще float a,b,c; и дальше возле них убрать все float
Неприятности приходят и уходят, а жизнь продолжается!
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.05.2009
Сообщений: 11
|
![]()
Всё конечно классно но только я не понял, а как код будет в целом то выглядить после этогО?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 664
|
![]()
float a,b,c,x1,x2,result;
cout << "vvedite a,b,c: "<< endl; cin >> a; cin >> b; cin >> c; if ((a==0) && (b==0) && (c==0) { cout << "x luboe chislo" << endl; } if ((a==0)&&(b==0)&&(c!=0)) cout << "net rescheniy" << endl; if ((a==0) && (b!=0) && (c==0) { cout << "X1=X2=0" << endl; } if ((a==0) && (b!=0) && (c!=0) { x1= (-c)/b; cout << "X1=X2=" <<x1<< endl; } else { result=sqrt(abs(pow(b)-4*a*c)); if ((pow(b)-4*a*c)>0) { x1=(((-b)+result)/(2*a)); x2=(((-b)-result)/(2*a)); cout<<"X1=: "<<x1<<endl; cout<<"X2=: "<<x2<<endl; } else { cout<<"X1=: "<<=(-b)/(2*a)<<"+"<<(result/(2*a))<<"i'<<endl; cout<<"X2=: "<<=(-b)/(2*a)<<"-"<<(result/(2*a))<<"i'<<endl; } } // Остальное - библиотеки, функцию main добавите сами.
Неприятности приходят и уходят, а жизнь продолжается!
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 16.05.2009
Сообщений: 11
|
![]()
Спасибо огромное вам!
|
![]() |
![]() |