مهاجر86
05-05-2006, 04:20 PM
السلام عليكم
اولا : انا ضيف جديد عليكم ........ومنبهر من هذا المنتدى ومعجب به
ثانيا: طالب مغترب في الاردن.............
ثالثا: هناك مسالة وعليها 10 درجات اتمنى ان تساعدوني في ظرف هذا اليومين
والمسالة كيف نجد الجذور التربيعية للمعادلة التربيعية من الدرجة الثانية
x2+bx+c
x تربيع وليس 2x
اي انها تقرا x تربيع + c+bx
الرجاء كتابة الكود ان استطعتم والكتابة
بابسط الوسائل لانني في بداية التعلم اي في المستوى الثاني تقريبا
ولكم جزيل الشكر
منطلق بطموحي
05-05-2006, 04:41 PM
السلام عليكم:
اخي العزيز نحن لا نقدم حلول كاملة و لكن نستطيع مساعدتك بالحل و يمكنك عرض محاولاتك و سنعدل لك فيها
بالنسبة لمعادلة الدرجة الثانية فتحتاج لفهم المبدأ الرياضي اولا كالتالي:
ax^2+bx+c=0
delta=b^2 -4ac
if delta=0 one solution only
else
if delta>0 two solutions
else
if delta<0 complex number solution
اذن البرنامج سيحتاج لحساب delta في كل مرة فان كانت اقل من الصفر فلا يوجد حل في المجال الحقيقي فيطبع للمستخدم ( لا يوجد حل في المجال الحقيقي ) اما غير ذلم فان الحل له الصيغة التالية
X1=( -b+sqrt(delta) )/2a
X2=(-b -sqrt(delta))/2a
sqrt تعني الجذر التربيعي
مساعدة:
استعمل المكتبة
#include<cmath> لحساب قيمة الجذر التربيعي عن طريق الدالة sqrt(delta)
اذن الخوازرمية كالتالي:
1.قراءة قيم a و b و c من المستخدم
2.حساب قيمة delta بناء على المعادلة
3. اذا كانت اقل من الصفر نطبع "العملية مرفوضة "
4.اذا كانت = صفر او اكبر من الصفر يتم حساب الجذور للمعادلة عن طريق معادلات x1 و x2 المذكورة اعلاه
5.يتم طباعة النتيجة للمستخدم
مهاجر86
05-05-2006, 06:56 PM
السلام عليكم
اخوي منطلق بطموحي
ان اللسان ليعجز وان فمي ليتوقف عن الكلام اعجابا وتقديرا منك على هذه الخدمة
وفقنا الله واياكم ............واتمنى ان ياتي اليوم الذي ارد لك فيه الجميل الف شكرا لك
منطلق بطموحي
05-05-2006, 07:15 PM
و عليكم السلام :
أخي العزيز مهاجر ...العفو فلم افعل شيء ...
و انا حاضر متى ما احتجت لمساعدة
بالتوفيق
:)
عبيير
07-05-2006, 04:14 PM
كتبت البرنامج وان شاء الله يكون صح
ارجو تصحيح الخطأ ان وجد
#include <iostream.h>
#include <conio.h>
#include <math.h>
main()
**
float W,F,Q,a,I,b,c;
cout<<"enter the value of a & b & c \n";
cin>>a>>b>>c;
I=pow(b,2)-4*a*c;
Q=-b/(2*a);
F=sqrt (I)/(2*a);
W=sqrt (-I)/(2*a);
if (I==0)
cout<<"the root of equ.. are equal x=y = "<<Q,
if (I>0)
cout<<"the root of equ..are diff_real x = "<<Q+F<<"\ty= "<<Q-F;
else
cout <<"the root of equ..are diff_complex x = "<<Q<<"-i"<<W<<"\ty= "<<Q<<"+i"
<<Q;
getch();
}
المشكلة مش عارفة انقل النص صح
اذا ممكن تقولولي
شكرا
منطلق بطموحي
07-05-2006, 05:11 PM
السلام عليكم :
الحل صحيح بارك الله بك ...و لكن عملت بعض التعديلات البسيطة
1. لا داعي لاستخدام المكتبة conio فهي من لغة ال C و ليست C++
2.حذف getch()
3.استبدال .h ب using namespace std لاستفادة من خصائص ال C++
#include <iostream>
#include <cmath>
using namespace std;
int main()
**
float W,F,Q,a,I,b,c;
cout<<"enter the value of a & b & c \n";
cin>>a>>b>>c;
I=pow(b,2)-4*a*c;
Q=-b/(2*a);
F=sqrt (I)/(2*a);
W=sqrt (-I)/(2*a);
if (I==0)
cout<<"the root of equ.. are equal x=y = "<<Q;
if (I>0)
cout<<"the root of equ..are diff_real x = "<<Q+F<<"\ty= "<<Q-F;
if(I<0)
cout <<"the root of equ..are diff_complex x = "<<Q<<"-i"<<W<<"\ty= "<<Q<<"+i"
<<Q;
cout<<endl;
return 0;
}
بالنسبة لطريقة وضع الكود فقط قومي بنخسه من اي مكان كتبتيه و من ثم الصقيه هنا بالمنتدى ثم ظللي النص و اضغطي على رمز # تجدينه فوق مربع الكتابة
عبيير
07-05-2006, 06:52 PM
بس المشكلة البرنامج متعرفش عندي عالدوال المكتبية بهذه الهيئة يعني لازم زي مأنا كتباها
احتمال نسخة البرنامج تختلف
عالعموم انا بدي موقع انزل منو البرنامج
وبالنسبة للاجابة الثانية جربت احدد واعمل # زي مقولت بس منفعش
وجدان
08-05-2006, 12:33 AM
السلام عليكم
اختي عبير
ردا على سؤالك الثاني اول شي لازم تذهبين الى لوحة التحكم الخاصة
بالاعضاء بعدين اختاري (تعديل الخيارات) ستجدين هناك العديد من الخيارات
يوجد منها الخيارات الخاصة بواجهة محرر النصوص >> اختاري الواجهة
المتطورة المرتبطة لمحرر النصوص .
اذا قمت بهذا ستضاف الى ردودك القدرة على وضع الكود بالطريقة التي
تريدين باختيار # فوق مربع الكتابه كما قال لك اخي منطلق بطموحي
سيظهر لك[.code.]*[/code] الصقي الكود مكان النجمه
...... :)