Проста програма на C++ за решаване на квадратно уравнение
------------------------------------------------
кажете ми как е :) като за ученик в 9-ти клас който учи в непрофилирано СОУ :)
------------------------------------------------
кажете ми как е :) като за ученик в 9-ти клас който учи в непрофилирано СОУ :)
Няколко забележки:
1. Прочети правилата на форума преди да пускаш тема. Недей да копираш повече от 10-ина реда код, ползвай примерно pastebin.com.
2. Декларирането на всички променливи най-отгоре не е добра практика; една променлива се декларира възможно най-късно, т.е. в момента на първото й използване. Изключение е единствено JavaScript и С89.
3. Писане на шльокавица - не. Или пиши на кирилица, или на английски.
4. Имаш излишни променливи - d, e, f, l. D1. Използвай наличните, например, може да кажеш a *= -1, за да обърнеш знака. Спестяваш и повторение на логика.
5. Структурата на проверките е малко странна. Имаш три случая за дискриминантата, разпиши ги в три кейса на if-else.
http://pastebin.com/mBUPbzAe
---------------------------------------------------
ако може някой да ми обясни защо когато давам за а=2 б=3 с=-5 дава правилни корени а когато дам a=-2 b=-3 c=5 ми дава грешни :)
Поначало няма смисъл да проверяваш дали константите са по-големи от нула - формулата точно затова е формула, защото винаги е вярна и не търпи промени.
Стандартната формула за Дискриминанта е b^2-(4*a*c), не я заменяй.
Правилно си написал, че при D<0 уравнението не може да се пресметне, обаче ако D=0, то уравнението е формула от типа (a+b)^2 и има два еднакви корена, т.е. корените могат да се сметнат, просто ще бъдат равни.
Също така коренът си е корен дори когато е равен на 0, не го изпускай. Така крайните ти if-ове могат спокойно да бъдат изпуснати.
Благодаря ти много за съвета :) да и вярно е :)
Разбирам ви мерси за съветите, но все пак се уча сам и няма кой да ме учи на такива неща :) в нашето училище не се набляга много много на програмирането учи се на ниво начинаещи и за това все пак каквото съм научил до тук съм го научил сам за това все пак се извинявам за грешките :). Благодаря ви за бързия отговор.
Така де :) Предполагам затова пусна темата, за да получиш обратна връзка и да подобриш програмата. Всички се учим, няма нужда да се извиняваме, че допускаме грешки; това е част от процеса на научаване.
след малко ще си пусна и поправеният код за да видите ако може да се подобри някъде и се радвам, че най накрая може с някой да поговоря и да се уча от някой за програмирането :)