Решение уравнения

Решение уравнения

Новое сообщение agdam 13 июн 2009, 14:35

Народ мне нужна помощь-вот в этом коде мне выдаёт ошибку немогу понять где?
Код: Выделить всё
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
//ввести значение a,b,c
   double a,b,c;
   cout << "Enter a:";
   cin >> a;
   cout << "Enter b:";
   cin >> b;
   cout << "Enter c:";
   cin >> c;
//узнать равен ли а нулю
   if(a==0)
   {
//вывести решениe b,c
    if(b==0 && c==0)
    {
//вывеси сообщение x
     cout << "Any x is solution";
     }else
  if(b==0 && c!=0)
     {
//Если b равно нулю а c не равно нулю
     cout << "x=0:";
     }
  else
    }
   x=-c/b;
   cout << x << endl;
    {
   else
    }
//вычислить дискриминант
    double d=b*b-4*a*c;
    if(d==0)
    {
       d=-b/(2*a);
       cout << "d равно нулю." << endl;
    }
    else
    {
       x1=(-b - sgrt (d))/(2*a);
       x2=(-b + sgrt (d))/(2*a);
       cout << "d не равно нулю." << endl;
    }
    cout("x1=%f x2=%f");
}
Аватара пользователя
agdam
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 9
Зарегистрирован: 13 июн 2009, 13:41
Репутация: 1
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение Artiom N. 13 июн 2009, 14:48

Ну я тебе в той теме же ответил. Продублирую:
Код: Выделить всё
//подключить потоковую библиотеку ввода-вывода
#include <iostream.h>
#include <math.h>
//использовать стандартное пространство имен
//using namespace std;
//начало функции main
int main()
{
//ввести значение a,b,c
       double a, b, c;
       cout << "Enter a:";
       cin >> a;
       cout << "Enter b:";
       cin >> b;
       cout << "Enter c:";
       cin >> c;

       if(a == 0)
       {
               //вывести решениe b,c
               if(b == 0 && c == 0)
               {
                       cout << "Any x is solution";
               }
               else if(b == 0 && c != 0)
               {
                       cout << "x = 0:";
               }
               else
               {
                       double x = -c/b;
                       cout << x << endl;
               }
       } // a == 0
       else
       {
               //вычислить дискриминант
               double D = b*b - 4*a*c;
               double x1, x2;
               if (D == 0)
               {
                       x1 = x2 = -b/(2*a);
                       cout << "D равно нулю." << endl;
               }
               else
               {
                       x1 = (-b - sqrt(D)) / (2*a);
                       x2 = (-b + sqrt(D)) / (2*a);
                       cout << "D не равно нулю." << endl;
               }
               cout << "x1 = " << x1 << endl << "x2 = " << x2 << endl;
       } // else if (a != 0
}
Код: Выделить всё
Невротики строят воздушные замки, шизофреники живут в них, а психиатры собирают арендную плату..
:-(
Аватара пользователя
Artiom N.
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 74
Зарегистрирован: 22 авг 2008, 04:43
Репутация: 4
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение agdam 13 июн 2009, 15:02

Ну в таком случае ответ остаётся таким же
Enter a
Аватара пользователя
agdam
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 9
Зарегистрирован: 13 июн 2009, 13:41
Репутация: 1
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение Artiom N. 13 июн 2009, 16:51

Да, кстати, у тебя не учитывается случай, когда D < 0. sqrt выдаёт domain error.
Код: Выделить всё
Невротики строят воздушные замки, шизофреники живут в них, а психиатры собирают арендную плату..
:-(
Аватара пользователя
Artiom N.
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 74
Зарегистрирован: 22 авг 2008, 04:43
Репутация: 4
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение agdam 13 июн 2009, 22:44

Artiom N. писал(а):Да, кстати, у тебя не учитывается случай, когда D < 0. sqrt выдаёт domain error.

Скорей всего вот это мне и недавало покоя.
Аватара пользователя
agdam
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 9
Зарегистрирован: 13 июн 2009, 13:41
Репутация: 1
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение agdam 14 июн 2009, 13:30

Это моё первое уравнение.
Код: Выделить всё
// подключить потоковую библиотеку ввода-вывода
#include <iostream>
// использовать стандартное пространство имен
using namespace std;
// начало функции main
int main()
{
     //ввести значение b,c,x
     double b,c,x;
     cout << "Enter b:";
     cin >> b;
     cout << "Enter c:";
     cin >> c;
     //вывести решениe b,c
     if(b==0 && c==0)
     {
     //вывеси сообщение x любое
     cout << "Any x is solution";
     }else if(b==0 && c!=0)
     {
     //Если b равно нулю а c не равно нулю
     cout << "x=0:";
}
else
{
     x=-c/b;
     cout << "x=" << x << endl;
     }
Аватара пользователя
agdam
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 9
Зарегистрирован: 13 июн 2009, 13:41
Репутация: 1
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение Artiom N. 14 июн 2009, 13:50

Форматирование у тебя хромает. Читать сложно.
Код: Выделить всё
Невротики строят воздушные замки, шизофреники живут в них, а психиатры собирают арендную плату..
:-(
Аватара пользователя
Artiom N.
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 74
Зарегистрирован: 22 авг 2008, 04:43
Репутация: 4
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение agdam 14 июн 2009, 14:51

Artiom N. писал(а):Форматирование у тебя хромает. Читать сложно.

Ты имееш в виду скобки?
Аватара пользователя
agdam
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 9
Зарегистрирован: 13 июн 2009, 13:41
Репутация: 1
Добавить балл репутацииУбавить балл репутации

Re: Решение уравнения

Новое сообщение Artiom N. 14 июн 2009, 18:42

Да.
Код: Выделить всё
Невротики строят воздушные замки, шизофреники живут в них, а психиатры собирают арендную плату..
:-(
Аватара пользователя
Artiom N.
Генерал-бригадир
Генерал-бригадир
 
Сообщений: 74
Зарегистрирован: 22 авг 2008, 04:43
Репутация: 4
Добавить балл репутацииУбавить балл репутации


Вернуться в Компилируемые языки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron