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

Квадратное уравнение (найти ошибку) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка нажатия клавиши http://www.cyberforum.ru/cpp-beginners/thread1495324.html
нужно задать нажатию клавиши enter другие функции: private: System::Void textBox1_TextChanged_1(System::Object^ sender, System::EventArgs^ e) { if (Control::ModifierKeys == Keys::Enter) { //код этих новых действий } а у меня не работает. В чем ошибка?
C++ Шаблоны В файле есть такое определение template<int32 aMaxLength> class TTextBuffer: public MString { public: /** Construct an empty TTextBuffer object. */ TTextBuffer() { } /** Construct a TTextBuffer object from an 8-bit ASCII string. */ TTextBuffer(const char* aText) http://www.cyberforum.ru/cpp-beginners/thread1495307.html
Разработка программы Генератора Псевдослучайной Последовательности C++
Всем привет! Есть задача: написать программу Генератора Псевдослучайной Последовательности (ГПСП) на С(С++). Полином для ГПСП: x^85+x^49+x^17+1. С чего начать ребят? Может кто-нибудь че делал подобное?
C++ Работа с базой данных web
Здравствуйте, уважаемые пользователи форума. Очень нужна ваша помощь. Требуется реализовать программу, работа которой по идее очень проста. есть две таблицы (например 2 excel файла или БД; рисунок во вложении). В программе мы вводим два параметра. например, 0,1 и x2. программа должна найти по таблице значение 9 (на пересечении). Потом по второй таблице найти значение 9 и выдать в качестве...
C++ Как спросить да и нет в MSGBOX и выполнить разные действия в зависимости от результата? http://www.cyberforum.ru/cpp-beginners/thread1495275.html
MessageBox( NULL, "Не удаётся найти файл базы данных ключей,найти её?", "Отсутствует база ключей", MB_YESNO| MB_DEFBUTTON1 | MB_ICONERROR| MB_DEFAULT_DESKTOP_ONLY ); А результат как cделать разный?
C++ Переместить элемент внутри списка std::list Что-то я не пойму, простая вроде задача - переместить элемент внутри спиcка std::list - стандартной функции нету что-ли? подробнее

Показать сообщение отдельно
Melvil
47 / 46 / 13
Регистрация: 20.05.2015
Сообщений: 247

Квадратное уравнение (найти ошибку) - C++

08.07.2015, 13:21. Просмотров 645. Ответов 9
Метки (Все метки)

Добрый день, решал вот такую задачку, однако она не проходит один из тестов, помогите найти ошибку. Также, как я понял, при отсутствии корней нужно вывести просто 0 - как-то умалчивается об этом в условии. Спасибо.

Сложно найти человека, который любит решать однообразные задачки по математике. В последнее время школьникам стало легче, ведь с появлением компьютеров почти в каждой квартире стало существенно проще проверять себя.

Но программы, в которых решение уравнений является стандартной функцией, установлены не везде. Напишите программу, которая сможет решить уравнение

ax2 + bx + c = 0

при заданных коэффициентах a, b и c.
Входные данные

Единственная строка входного файла INPUT.TXT содержит три целых числа a, b и c, каждое из которых не превосходит по модулю 30000. Числа разделяются пробелами.

Выходные данные

На первой строке выходного файла OUTPUT.TXT выведите число действительных корней заданного уравнения. Затем выведите сами корни по одному на строке с ошибкой, не превосходящей 10-4. Если для заданных коэффициентов корней бесконечно много, на единственной строке выходного файла выведите -1.

Моё решение:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iomanip>
#include <cmath>
#include <iostream>
using namespace std;
 
int main()
{
    float D, x1 ,x2,a,b,c;
    cin >> a >> b >> c;
    if (a)
    {
        D = b*b - 4 * a*c;
        if (D > 0)
        {
            x1 = (-b + sqrt(D)) / 2 * a;
            x2 = (-b - sqrt(D)) / 2 * a;
            cout << 2 << endl;
            cout << fixed << setprecision(6) << x1 << endl;
            cout << fixed << setprecision(6) << x2 << endl;
        }
        else if (D == 0)
        {
            x1 = -b / (2 * a);
            cout << 1 << endl;
            cout << fixed << setprecision(6) << x1 << endl;
        }
        else
            cout << 0 << endl;
    }
    else if (a == 0 && b == 0 && c == 0)
    {
        cout << -1 << endl;
    }
    else if (a == 0 && b != 0)
    {
        x1 = -c / b;
        cout << 1 << endl;
        cout << fixed << setprecision(6) << x1 << endl;
    }   
    else if (a == 0 && b == 0)
    {
        cout << 0 << endl;
    }
    else
    {
        return 1;
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru