0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 27
1

Нахождение корней квадратного уравнения

24.09.2018, 21:12. Показов 2027. Ответов 11
Метки нет (Все метки)

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

Входные данные:
Единственная строка, содержащая три целых числа, разделенных пробелами, каждое из которых не превышает по модулю 10^4 - коэффициенты уравнения А, В, С. Гарантируется, что уравнение с этими коэффициентами имеет два целых корня.

Корни можно выводить в произвольном порядке.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
using namespace std;
 
int main () {
    long long a,b,c;
    long long x1, x2;
    long double D;
    cin >> a >> b >> c;
    D = b*b - 4*a*c;
       x1=( -b + sqrt(D)) / (2*a);
       x2=( -b - sqrt(D)) / (2*a);
 
       cout << x1 << endl << x2;
   
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2018, 21:12
Ответы с готовыми решениями:

Нахождение корней квадратного уравнения
Здравствуйте , показывает ошибку в этих строчках,ругается на функции sqrt и pow объясните почему...

Нахождение корней квадратного уравнения С++
Как найти корни квадратного уравнения С++?Задаются ведь значения x.y.z,а на выходе выводится...

Нахождение корней квадратного уравнения
Здравствуйте все кто читает эти строки! Большой привет вам из раздела Delphi! Моему другу...

Нахождение корней квадратного уравнения (Pascal -> C++)
Помогите Перевести с Pascal на C++ Можно и картинкой Добавлено через 33 секунды Вот код: ...

11
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
24.09.2018, 21:30 2
Цитата Сообщение от student256 Посмотреть сообщение
long long x1, x2;
Почему корни целые?
Цитата Сообщение от student256 Посмотреть сообщение
Гарантируется, что уравнение с этими коэффициентами имеет два целых корня
Кто гарантирует? Обычно, спецом тесты загоняют с провальными значениями, но если уж такая гарантия, то тип на вещественный смени, и целые в вещественные числа сделай.

C++
1
2
3
D = b*b - 4.0*a*c;
       x1=( -b + sqrt(D)) / (2.0*a);
       x2=( -b - sqrt(D)) / (2.0*a);
0
0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 27
24.09.2018, 21:40  [ТС] 3
Если так, то код все равно не заходит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
using namespace std;
 
int main () {
    long double a,b,c;
    long double x1, x2;
    long double D;
    cin >> a >> b >> c;
    D = b*b - 4.0*a*c;
       x1=( -b + sqrt(D)) / (2.0*a);
       x2=( -b - sqrt(D)) / (2.0*a);
 
       cout << x1 << endl << x2;
   
    return 0;
}
0
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
24.09.2018, 21:55 4
student256, виноват, коряво прочел. Тут в условие четко дано, что и числа, и корни - целые.
Где проверяется, есть набор тестов или какие-либо данные, на чем падает?
0
0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 27
24.09.2018, 22:00  [ТС] 5
Увы, но нету.
0
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
24.09.2018, 22:16 6
student256, есть хоть какие-то данные, какие-то обоснования того, почему?
Цитата Сообщение от student256 Посмотреть сообщение
код все равно не заходит
Объяснения какие-либо? Или вообще не принимает система код?
0
0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 27
24.09.2018, 22:23  [ТС] 7
На первом же тесте ошибку выдает.
0
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
24.09.2018, 22:37 8
Цитата Сообщение от student256 Посмотреть сообщение
На первом же тесте ошибку выдает.
Цитата Сообщение от student256 Посмотреть сообщение
Входные данные:
Единственная строка, содержащая три целых числа, разделенных пробелами
Цитата Сообщение от student256 Посмотреть сообщение
C++
1
cin >> a >> b >> c;
У вас в условии задачи входные данные должны быть строкой с пробелами.
Может ввод данных через cin напрямую в переменные не соответствует условию?
0
0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 27
24.09.2018, 22:38  [ТС] 9
Можно ли подобрать такие заначения чтобы программа выдавала не верный ответ? Кстати, вот все задание:
Миниатюры
Нахождение корней квадратного уравнения  
0
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
24.09.2018, 22:49 10
Лучший ответ Сообщение было отмечено student256 как решение

Решение

Цитата Сообщение от student256 Посмотреть сообщение
Кстати, вот все задание:
Чтоб результат соответствовал нужно заменить:

C++
1
cout << x1 << endl << x2;
на
C++
1
cout << x1 << " " << x2;
1
7425 / 5020 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
24.09.2018, 22:51 11
student256, для ВСЕХ переменных (в т.ч. D) - тип int. строку ответа замените на
cout << x1 <<" "<< x2;
0
466 / 123 / 61
Регистрация: 04.03.2015
Сообщений: 325
24.09.2018, 22:52 12
Цитата Сообщение от student256 Посмотреть сообщение
Можно ли подобрать такие заначения чтобы программа выдавала не верный ответ?
Можно.
Например: 2 1 1
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2018, 22:52
Помогаю со студенческими работами здесь

Нахождение корней квадратного уравнения через дискриминант
Здравствуйте! Начинаю работать в C++ Builder 3.1 в DOSBOXe. Стоит задача реализовать программу...

Нахождение корней квадратного и линейного уравнений
Написать перегруженные шаблоны функций для нахождения корней линейного (а*х + b =0) и квадратного...

Вычисление корней квадратного уравнения
Напишите пожалуйста подпрограмму для обчисления корней квадратного уравнения. Если можно с...

Вычисление корней квадратного уравнения
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { system(&quot;cls&quot;);...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru