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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ferrariztw
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 3
#1

Не решается (легко) - C++

10.09.2013, 17:07. Просмотров 297. Ответов 5
Метки нет (Все метки)

По заданным коэффициентам квадратного уравнения ax2 + bx + c = 0 надо найти его корни.

Если заданное квадратное уравнение не имеет корней, то в выходной файл нужно вывести слово NO.
Если корней бесконечное множество, то вывести MANY.
Если уравнение не имеет смысла, то вывести ERROR.
Если корень один, то в первую строку выходного файла нужно вывести число 1, а во
вторую – значение этого корня с точностью до 5 знаков после десятичной точки.
Если у уравнения два корня, то в первую строку нужно вывести число 2, а во вторую – найденные корни в порядке возрастания их значений с точностью до 5 знаков после десятичной
точки.


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main ()
{
    double a,b,c;
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    scanf("%d%d%d",&a,&b,&c);
    if (a==0 && b==0)
        printf("ERROR");
    else if ((b*b)<4*a*c)
        printf("NO");
    else if ((b*b)==(4*a*c))
        printf("1\n%.5f",(double)-b/(2*a));
    else if ((b*b)>(4*a*c))
{
    printf("2\n%.5lf",(double)((-b-(sqrt(b*b-4*a*c)))/(2*a)));
    printf("%.5lf",(double)((-b+(sqrt(b*b-4*a*c)))/(2*a)));
}
    else printf("MANY");
    return 0;
}
Укажите на ошибки) Я начинающий.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 17:07     Не решается (легко)
Посмотрите здесь:

C++ Символьный массив. Очень легко.
C++ Кому легко, сюда
C++ легко и просто) про строки
C++ Как решается это уравнение?
C++ Как решается эта сложная задача
Как написать? (легко) C++
C++ Формула забавно легко, но не могу понять
C++ не решается задача по параллельному программированию
Задача о рюкзаке, решается ли она жадным алгоритмом? C++
C++ Найти значение выражения. Вроде бы легко, но не выходит
C++ Как легко прировнять массиву английский алфавит?
Квадратное уравнение решается неправильно C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
10.09.2013, 17:44     Не решается (легко) #2
Цитата Сообщение от ferrariztw Посмотреть сообщение
Укажите на ошибки)
а по-конкретнее ? что, не правильно работает программа? какого рода ошибки - синтаксические, алгоритмические, расчетные, оптимизации кода?
(c виду то их и нет)
ferrariztw
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 3
10.09.2013, 17:54  [ТС]     Не решается (легко) #3
Выводит всегда NO (какие-бы данные на вход не подавались)
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
10.09.2013, 17:56     Не решается (легко) #4
ferrariztw, переменные a, b, c типа double, а спецификатор в scanf для int
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
10.09.2013, 18:03     Не решается (легко) #5
C++
1
scanf("%lf%lf%lf",&a,&b,&c);
ferrariztw
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 3
10.09.2013, 18:06  [ТС]     Не решается (легко) #6
Спасибо вам огромное, а то я уже отчаялся)
Yandex
Объявления
10.09.2013, 18:06     Не решается (легко)
Ответ Создать тему
Опции темы

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