Да се напишат функции за пресмятане на корените на линейно и квадратно уравнение.
Всички задачи за:
Оградете кода с:
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]Достъп до сайта:
С повишена трудност:
Задачите със звездичка са с повишена трудност - решавайте ги, ако сте решили другите.-
Последни задачи:
Последни решения:
- Marin

за Къде се намира точка - Marin

за Вмъкване и изтриване на елемент * - Marin

за Позицията на X - Alexander1





за Броят на максималните елементи - Alexander1





за Броят на максималните елементи - Marin

за Пари за закуска - Alexander1





за Ученици с дадена оценка - Alexander1





за По-големи от средното
- Marin
Топ участници за момента:
kaloyan164 решения/коментараGadget131 решения/коментараdreanor112 решения/коментараmarant74 решения/коментараsup3rEva68 решения/коментараБоряна65 решения/коментараNadq53 решения/коментараmaleboldjia48 решения/коментараkrisizdravi9543 решения/коментараMartinPlamenov38 решения/коментараЗадачи за дата:
август 2026 П В С Ч П С Н « февр. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Предишни задачи:
- февруари 2017 (38)
- януари 2017 (16)
- декември 2016 (17)
- ноември 2016 (14)
- октомври 2016 (26)
- юни 2016 (3)
- май 2016 (15)
- април 2016 (12)
- март 2016 (14)
- февруари 2016 (9)
- май 2015 (2)
- април 2015 (8)
- март 2015 (8)
- февруари 2015 (13)
- януари 2015 (11)
- декември 2014 (9)
- ноември 2014 (24)
- октомври 2014 (16)
- юни 2014 (2)
- май 2014 (8)
- април 2014 (10)
- март 2014 (14)
- февруари 2014 (22)
- януари 2014 (25)
- декември 2013 (27)
- ноември 2013 (37)
- октомври 2013 (38)
- септември 2013 (2)
- юни 2013 (6)
- май 2013 (10)
- април 2013 (19)
- март 2013 (35)
- февруари 2013 (32)
- януари 2013 (29)
- декември 2012 (28)
- ноември 2012 (37)
- октомври 2012 (26)
- септември 2012 (3)
- май 2012 (16)
- април 2012 (16)
- март 2012 (27)
- февруари 2012 (10)
- януари 2012 (13)
- ноември 2011 (16)
- октомври 2011 (8)
- април 2011 (4)
- март 2011 (19)
- февруари 2011 (19)
- януари 2011 (18)
- декември 2010 (25)
- ноември 2010 (10)
- октомври 2010 (33)
- септември 2010 (1)
По теми:
- break
- бройни системи
- булев тип
- вариантен избор
- вложена условна команда
- вложени цикли
- дати
- динамична променлива
- дървета
- запис
- изброим тип
- класове
- манипулатори на извеждането
- масив
- масив от записи
- многомерни масиви
- множества
- модули
- низ
- низове
- низови функции
- опашки
- отпечатване
- преобразуване на типовете
- реален тип
- рекурсия
- символен тип
- сортиране на масиви
- специфични операции за цели числа
- списъци
- стекове
- структури
- текстов файл
- типизирани файлове
- условна команда
- файл
- функции
- хедър файлове
- целочислен тип
- цикъл do-while
- цикъл for
- цикъл repeat
- цикъл while
- цифри на число
- шах
Всички задачи:
- 2016-2017 (111)
- Архив задачи (791)
- 2010-2011 (131)
- Информатика (131)
- 2011-2012 (109)
- ЗИП Информатика (4)
- 10в (4)
- Информатика (105)
- ЗИП Информатика (4)
- 2012-2013 (227)
- 2013-2014 (182)
- 2014-2015 (91)
- 2015-2016 (53)
- 2010-2011 (131)
Мета
Препоръчваме хостинг:

VAR x,x2:real; function lineino(a,b:integer):integer; begin if a=0 then if b=0 then result:=0//Всяко x е решение else result:=1//Няма решение else begin result:=2;//има решение x:=-b/a; end; end; function kvadratno(a,b,c:integer):integer; var D:integer; begin D:=b*b-4*a*c; if D<0 then result:=0//Уравнението няма реални корени else if D=0 then begin result:=1;//Уравнението има един реален корен x:=-b/2*a; end else begin result:=2;//Уравнението има два реални корена x:=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a); end; end; VAR a,b,c:integer; BEGIN write('Vavedi a,b i c: '); readln(a,b,c); //Линейното уравнение if lineino(a,b)=0 then writeln('Vsqko x e reshenie') else if lineino(a,b)=1 then writeln('Nqma reshenie') else writeln('x=',x:0:2); //Квадратното уравнение if kvadratno(a,b,c)=0 then writeln('Uravnenieto nqma realni koreni') else if kvadratno(a,b,c)=1 then writeln('x1:=',x:0:2) else if kvadratno(a,b,c)=2 then begin writeln('x1=',x:0:2); writeln('x2=',x2:0:2); end; readln; END.Функциите са по принцип верни, сетил си се да разгледаш всички случаи, браво! Само че 1) е по-удачно корените да се връщат като изходящи параметри, а не чрез глобални променливи и 2) функциите за линейно и квадратно уравнение да се викат еднократно и после да се ползва резултата им, а не пак и пак да ги извикваш във всеки if.
#include <cstdlib> #include <iostream> #include <math.h> using namespace std; int kv(int a, int b, int c,double &x1, double &x2){ int D; D=(b*b)-4*a*c; if(D<0){ return 0; } if(D==0){ x1=((-b)/(2*a)); return 1; } if(D<0){ x1=(-b+(sqrt(D)))/(2*a); x2=(-b-(sqrt(D)))/(2*a); return 2; } } int lin(int a, int b, double &x) { x=0; if(a==0){ if(b==0){ return 0; //vsqko x e reshenie } else return 1; //nqma reshenie } else { x=-b/a; return 2;} //ima reshenie } int main(int argc, char *argv[]) { int a,b,c; double x1,x2; cout<<"Vuvedi 4islata a,b,c: "; cin>>a>>b>>c; if(a==0) cout<<"ima : "<<lin(b, c, x1)<<" resheniq i to e:"<<x1<<endl; else { int br=kv(a, b, c, x1 ,x2); if(br==0){ cout<<"Nqma re6enie."<<endl; } if(br==1){ cout<<"ima 1 reshenie i to e: "<<x1<<endl; } if(br==2){ cout<<"ima 2 resheniq i te sa: "<<x1<<" "<<x2<<endl; } } system("PAUSE"); return EXIT_SUCCESS;Браво, решение като по учебник! Само за случаите, в които се получава линейно уравнение и няма решение или всяко x е решение трябва малко да шлифоваш какво ще се отпечатва в main функцията.