Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Filkolev avatar Filkolev 4482 Точки
Best Answer

Няколко забележки:

1. Прочети правилата на форума преди да пускаш тема. Недей да копираш повече от 10-ина реда код, ползвай примерно pastebin.com.

2. Декларирането на всички променливи най-отгоре не е добра практика; една променлива се декларира възможно най-късно, т.е. в момента на първото й използване. Изключение е единствено JavaScript и С89.

3. Писане на шльокавица - не. Или пиши на кирилица, или на английски. 

4. Имаш излишни променливи - d, e, f, l. D1. Използвай наличните, например, може да кажеш a *= -1, за да обърнеш знака. Спестяваш и повторение на логика.

5. Структурата на проверките е малко странна. Имаш три случая за дискриминантата, разпиши ги в три кейса на if-else.

2
YStrike avatar YStrike 1 Точки

Разбирам ви мерси за съветите, но все пак се уча сам и няма кой да ме учи на такива неща :) в нашето училище не се набляга много много на програмирането учи се на ниво начинаещи и за това все пак каквото съм научил до тук съм го научил сам за това все пак се извинявам за грешките :). Благодаря ви за бързия отговор.

0
Filkolev avatar Filkolev 4482 Точки

Така де :) Предполагам затова пусна темата, за да получиш обратна връзка и да подобриш програмата. Всички се учим, няма нужда да се извиняваме, че допускаме грешки; това е част от процеса на научаване.

5
YStrike avatar YStrike 1 Точки

след малко ще си пусна и поправеният код за да видите ако може да се подобри някъде и се радвам, че най накрая може с някой да поговоря и да се уча от някой за програмирането :)

0
YStrike avatar YStrike 1 Точки

http://pastebin.com/mBUPbzAe

---------------------------------------------------

ако може някой да ми обясни защо когато давам за а=2 б=3 с=-5 дава правилни корени а когато дам a=-2 b=-3 c=5 ми дава грешни :)

0
VladislavIliev avatar VladislavIliev 5 Точки

Поначало няма смисъл да проверяваш дали константите са по-големи от нула - формулата точно затова е формула, защото винаги е вярна и не търпи промени.

Стандартната формула за Дискриминанта е b^2-(4*a*c), не я заменяй.

Правилно си написал, че при D<0 уравнението не може да се пресметне, обаче ако D=0, то уравнението е формула от типа (a+b)^2 и има два еднакви корена, т.е. корените могат да се сметнат, просто ще бъдат равни.

Също така коренът си е корен дори когато е равен на 0, не го изпускай. Така крайните ти if-ове могат спокойно да бъдат изпуснати.

1
17/01/2016 23:26:21
YStrike avatar YStrike 1 Точки

Благодаря ти много за съвета :) да и вярно е :)

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