armen9494 (04.11.2011)
ax^2 +bx +c = 0
միհատ գտա.... էսա?
#include <iostream.h>
#include <cmath>
int main ()
{
//Declare Variables
double x,x1,x2,a,b,c;
cout << "Input values of a, b, and c." ;
cin >>a >>b >>c;
for (int i = 1; i <= 10; ++i);
{
if ((b * b - 4 * a * c) > 0)
cout << "x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a)" &&
cout << "x2 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a)";
if else ((b * b - 4 * a * c) = 0)
cout << "x = ((-b + sqrt(b * b - 4 * a * c)) / (2 * a)"
if else ((b * b - 4 * a * c) < 0)
cout << "x1 = ((-b + sqrt(b * b - 4 * a * c) * sqrt (-1)) / (2 * a) &&
cout << "x2 = ((-b + sqrt(b * b - 4 * a * c) * sqrt (-1)) / (2 * a);
}
return (0);
}
Varzor (04.11.2011)
Գիտեմ, ուղղակի սխալ copy-past-ի արդյունք է: cmath-ը իրենցի նեկայացնում է նույն math.h-ի հայտարարած մաթեմատիկական ֆունկցիաները:
Համ էլ Microsoft-ի մոտ cmath-ը հասկանում ա, փորձել ես ուրիշ միջավայրում այդպես հայտարարես?
Ու քանի որ մեջը կա նաև sqrt(-1), ապա եթե չեմ սխալվում պիտի հայտարարվի նաև <comlex>
Լոխ մունք ենք, մնացածը` լոխ են...
Varzor (04.11.2011)
Դե ես չեմ փորձել, լավ ա, որ աշխատում ա:
Խնդիրը պլատֆորմը չիա, այլ կոմպիլյատորը` ում ստեղծածն է:
Համ էլ առանց h-ի գրելաձևը, ինչքան գիտեմ դասական չի համարվում: Համենայն դեպս մի 12-13 տարի առաջ գրականությունում էլ չեմ հանդիպել:
Արդեն մի 6-7 տարի կլինի C++-ով գործնական չեմ զբաղվել, չի բացառվում, որ ահագին հետ ընկնելուց բացի որոշ բաներ արդեն խառնշտել եմ Delphi-ի ու Basic-ի հետ
Լոխ մունք ենք, մնացածը` լոխ են...
Իմ իմանալով այդպես չէ: Որոշ ստանդարտ գրադարանների համար առանց .h-ի գրելաձևը ստանդարտով ամրագրված է:
Ընդհանրապես ասած` գրելով #include <cmath> դու չես ասում կոմպիլյատորին "թարգմանի cmath-ը math.h-ի և include արա այդ ֆայլը" (ուրիշ բան, որ կոմպիլյատորների մեծամասնությունը, եթե ոչ բոլորը, հենց դա էլ անելու են): Դու ասում ես` ներառիր մաթեմատիկական ֆունկցիաները: Տեսականորեն կոմպիլյատորը կարող է ոչ մի ֆայլ էլ include չանել, այլ պարզապես իր մոտ ինչ-որ "պտիչկա" անել, որ մաթեմատիկական ֆունկցիաները հասանելի են:
Ճիշտա Includ-ը կոմպիլյաորն "հուշում է", որի հետագա կոդում պիտի օգտագորչծվեն ասյ կամ այն գրադարանի ֆունկցիաները: Ու կոմպիլյատորը այդ գրադարանները փնտրում է, տգնում է և օգտագորում է կոդի մեքենայացման համար: Կոմպիլյատորը չի թարգմանում, քանի որ այդ գրադարանները արդեն իսկ ստանդարտ թարգմանված են:
Նույն կերպ էլ կոմպիլացվում է օգտագործողի կողմից ստեղծված .h գրադարանը, ուղղակի այդ պարագայում անհրաժեշտ է այդ գրադարանի ֆայլի առկայությունը: Ու առանց .h-ի չես գրի:
Բայց կախված կոմպիլյատորի վերսիայից, հեղինակից և միջավայրից ստանդարտ գրադարանների ցանկերը տարբեր են լնում: Ես հիշում եմ, որ ոչ միշտ էր առանց .h-ի տարբերակը համարվում ճիշտ: Մանավանդ DOS-ի միջավայրում C++-ով աշխատելիս:
Ներկայիս C++-ը այնքան է տարբերվում իր սկզբնական տարբերակից, որ նույնիսկ Ստրաուստրուպն է ընդուննում, որ սա արդեն ահագին տարբեր է ու ինքը չէր էլ պատկերացնում, թե ինչի են հասնելու հետագայում:
Հ.Գ.
Բայց մեկա C++-ը տենց էլ որպես ծրագրավորման լեզու չսիրեցի, իր ոչ էրգոնոմիկ սինտաքսիսի ու թեև ճկուն, բայց բարդացված օբյեկտային կառուցվածքի պատճառով: Ընենց վիճակի էր հասել, որ ոչ կիրառտական մակարդակի համար էր Rapid, ոչ էլ համակարգային մակարդակի համար էր ռապիդ, մանավանդ որ կոմպիլյատորի աշխատանքը գնալով ծանրանում էր` ժառանգված ու նորամուծված տարբերակների շատացման հետևանքով:
Լոխ մունք ենք, մնացածը` լոխ են...
Ես ուրիշ բան եմ ասում???
Includ-ը բառացի ասում ա "ներառի այս կամ այն գրադարանը` .h-ը": Իսկ թե ինչ է նկարագրված այդ գրադարանում, կարպ չունի:
Ստանդարտ գրադարաններում նկարագրված են ֆունկցիաները: Միգուցե տեղին չի օգտագործել "գրադարան" բառը: Ավելի ճիշտ կլինի ասել "հայտարարագիրը" կամ "նկարագիրը": Բայց դրանից էությունը չի փոխվում:
Օրինակ` #Include <IOSTREAM.H>: Շրագրի կոմպիլացման ժամանակ դրանում ներառվում են նաև IOSTREAM.H ֆայլում (ֆունկցիաների գրադարանում) նկարագրված ֆունկցիաները: Բայց եմնակ նրանք են կոմպիլացվում, որոնց որ հղում կա կատարված բուն ծրագրի կոդում: Այսինքն, եթե ծրագրում հղում կա cout-ին, ապա դա նշանակում է, որ տվյալ գործողության մեքենայացման համար IOSTREAM.H-ի մեջի նկարագրության միջոցով կատարվում է cout-ի նկարագրված գործողության մեքենայացումը:
Ինչն եմ սխալ նկարագրում?
Նույն կերպ էլ շատ ծրագրային լեզուներում, այդ թվում նաև C++-ուկ կատարվում է գրադարանների reference-ների ներառումը:
Լոխ մունք ենք, մնացածը` լոխ են...
Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)
Էջանիշներ