Форум программистов, компьютерный форум CyberForum.ru

Ошибка при ввыводе данных - C++

Восстановить пароль Регистрация
 
asadik
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 22
18.01.2013, 19:06     Ошибка при ввыводе данных #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main(int argc, char *argv[])
{ double a,b,c,d,x1,x2;
cout<<"vvedite chisla \n";
cin>>a>>b>>c;
d=b*b-4*a*c;
 x1=(-b-sqrt(d))/(2*a);
 x2=(-b+sqrt(d))/(2*a);
 if (x1<=x2)
 cout<<"x1= "<<x1<<"x2= "<<x2;
 else
 cout<<"x1= "<<x2<<"x2=  "<<x1;
          system("PAUSE>>void");
выдаёт ошибку #ind.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.01.2013, 19:11     Ошибка при ввыводе данных #2
Если дискриминант меньше нуля, то возникнет ошибка. Извлечение квадратного корня из отрицательного числа
Если a=0, тоже ошибка. Деление на ноль.

В программе нет этих проверок
asadik
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 22
18.01.2013, 19:12  [ТС]     Ошибка при ввыводе данных #3
и как теперь исправить ? в условии что то добавить ?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
18.01.2013, 19:17     Ошибка при ввыводе данных #4
условие можно вот такое написать
C++
1
2
3
4
5
6
7
8
if (d < 0)
{
    cout << "Дискриминант меньше нулю. Нет корней";
    return 0;
}
 
if (a == 0)
    x1 = x2 = -c / b;
А остальное все оставить
Yandex
Объявления
18.01.2013, 19:17     Ошибка при ввыводе данных
Ответ Создать тему
Опции темы

Текущее время: 17:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru