الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو الكود لايجاد الجدر التربيعي؟

مغلق
بدأه طالب برمجة في 28 سبتمبر 2003 · 6 رد · 2,789 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ماهو الكود الازم لايجاد جدور معادله تربيعيه كالتالي

using namespace std;

int main( )

{

float a , b , c ;

cout << “Please enter a : “ ;

cin >> a ;

cout << “Please enter b : “ ;

cin >> b ;

cout << “Please enter c : “ ;

cin >> c ;

findRoots ( a , b , c);

return 0;

}

void findRoots ( float a , float b , float c ) // Complete this function

{

. . .

. . .

#2

للمعادله التربيعيه يمكن أن يكون 0, 1 أو 2 جذور لذلك عليك استعمال المعادله:

x1,2 = (-b "+-" aqrt(b^2 - 4*a*c)) / (2*a)

فاذا كانت القيمه تحت الجذر سالبه ---> لا يوجد جذور, اذا كانت 0 --> يوجد جذر واحد

والا فيوجد جذران.

لايجاد هذه الجذور عليك أن تعوض الinput في المعادله فوق..

على فكره يوجد عده طرق لايجاد جذر لاي داله كانت, أذكر منها:

"التنصيف؟!" ,Regula-Falsi, Newton-Raphson, secant, Steffensen

لكن هذا يبقى ضمن موضوع أوسع وهو Numerical Analysis أنصحكم بتعلمه :)

#3

شكرا جزيلا لك

ولكن انا عوضت بالمعادله بس طلع عندي سبعه اخطااااااااااء لم استطع اكتشافها

وهدا هو الكود

#include <iostream>

#include <cmath>

using namespace std;

int main( )

{

float a , b , c ;

cout << "Please enter a : ";

cin >> a ;

cout << "Please enter b :";

cin >> b ;

cout << "Please enter c :";

cin >> c ;

findRoots ( a , b , c);

return 0;

}

void findRoots ( float a , float b , float c ) // Complete this function

{

float x1;

float x2;

float delta;

delta= b*b-4.0*a*c;

if(delta== o)

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

cout<<x1;

else

if(delta>0)

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

x2=-b- sqrt(delta)/2*a;

cout<<x1<<x2;

else

cout<< "No roots exsit"<<endl;

return 0;

}

#4

مدهش أنت تعمل على REAL TIME ابقى معي :)

#5

الكود يا عزيزي:

#include <iostream>

#include <cmath>

using namespace std;

void findRoots ( float a , float b , float c ) // Complete this function

{

float x1;

float x2;

float delta;

delta= b*b-4.0*a*c;

if(delta== 0) {

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

cout<<x1;

}

else if(delta>0) {

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

x2=-b- sqrt(delta)/2*a;

cout<<x1<<x2;

}

else cout<< "roots does not exit!!"<<endl;

return;

}

int main( )

{

float a , b , c ;

cout << "Please enter a : ";

cin >> a ;

cout << "Please enter b :";

cin >> b ;

cout << "Please enter c :";

cin >> c ;

findRoots ( a , b , c);

return 0;

}

#6

#include <iostream>

#include<cmath>

using namespace std;

void findRoots ( float a , float b , float c ) ;

int main( )

{

float a , b , c ;

cout << "Please enter a : " ;

cin >> a ;

cout << "Please enter b : " ;

cin >> b ;

cout << "Please enter c : " ;

cin >> c ;

findRoots ( a , b , c);

return 0;

}

void findRoots ( float a , float b , float c )

{

float d , root1,root2 ;

d = pow(b,2)-(4 * a * c);

if (a == 0 )

{

root1 = (-1 *c )/ b ;

cout << "The root is " << root1 << endl ;

}

else

{

if ( d < 0 )

cout << "No real roots " << endl;

else if (d == 0 )

{

root1 = ((-1 * b ) / ( 2 * a )) ;

cout << "The answer = " << root1 << endl ;

}

else

{

root1 = (((-1* b ) - ( sqrt(d))) / ( 2 * a )) ;

root2 = (((-1* b ) + ( sqrt(d))) / ( 2 * a )) ;

cout << "The answer = " << root1 << " , " << root2 << endl;

}

}

}

#7

هذا الحل بطريقة ثانية

تم تعديل هذه المشاركة بواسطة تيمون في 30 سبتمبر 2003 في 20:42

هذا الموضوع مغلق.

مواضيع مشابهة