Loading...
alexandar_zhelev avatar alexandar_zhelev 1 Точки

Problem 3 Quadratic Equation

Здравейте,

Искам да попитам за съвет относно третата задача от домашното в която става въпрос за квадратното уравнение. Проблема ми е, че не знам как да вкарам дробите в кода и да накарам програмата да пресмята тези дроби. Останалата част от кода е готова, написана и тествана, ако се наложи, мога да приложа код, ще съм благодарен, ако някой ми помогне да се справя с този проблем.

Благодаря!

Тагове:
0
C++ Fundamentals
Vankata83 avatar Vankata83 72 Точки

Използвай sqrt функцията от cmath

d е детерминантата а a и b са коефициентите

х1 и х2 са двете решения

x1 = (- b + sqrt(d)) / (2 * a);
x2 = (- b - sqrt(d)) / (2 * a);

Ако не става въпрос за това дай си кода, за да разбера какво точно питаш и кое точно ти липсва.

0
alexandar_zhelev avatar alexandar_zhelev 1 Точки

Благодаря ти, справих се със задачата, взех си 100/100 в Judje, грешката ми е била в неправилно поставени скоби на х1 и х2 и от там идва и цялата грешка с пресмятането на дробите и грешните резултати.

0
m.nikolov97 avatar m.nikolov97 25 Точки

Здравейте, колеги! Тъй като въпросът ми е по същата задача, реших да пиша тук, вместо да правя друга тема. Аз си направих задачата до 80 / 100 (Тест 1 не минава), но не мога да разбера какво ми липсва за максимум точки в Judge. Пробвах да форматирам изхода с различен пресижън и не се получава. Когато тествам с Code Blocks, програмата си работи. Кодът ми е: https://pastebin.com/BrFbUGac. Някой има ли идея от какво може да е?

0
09/09/2019 17:09:29
danyboy avatar danyboy 2 Точки

 

m.nikolov97 проверката в която  имаш само един корен ти е грешна 

0
m.nikolov97 avatar m.nikolov97 25 Точки

Здравей, Дани! Благодаря ти за отделеното време! Днес ми прие задачата със 100/100 след като промених сметката, когато имаме 1 корен (при Д = 0) от (-b / 2 * a) на (-b) / (2*a). Изглежда и аз съм имал някакъв проблем със скобите. 

  

0
Knightwalker avatar Knightwalker 38 Точки

@m.nikolov97 Кода ти работи, деленето обаче е с по голям приоритет при операцийте. Оправи само скобите при проверката където имаме само 1 корен и ще тръгне... на 20ти ред.

от    cout << (-b / 2 * a);

на    cout << (-b / (2 * a));

0
10/09/2019 23:10:44
kolioi avatar kolioi 641 Точки

Делението е със същия приоритет като умножението (и модулното деление), обаче редът на изпълнение на операциите е от ляво на дясно https://en.cppreference.com/w/cpp/language/operator_precedence Затова израза -b / 2 * a се изпълнява като ((-b) / 2) * a Понеже a е в знаменателя, трябва да сложим (2 * a) в скоби или да разделим на a, ето така -b / 2 / a

Така че делението не е с по-голям приоритет от умножението, но в дадения случай се изпълнява преди умножението.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.