السلام عليكم ورحمة الله وبركاته
لو سمحتوا اذا بغيت اكتب
2E+12
في c++
كيف شكل المعادلة
وشكرا
السلام عليكم ورحمة الله وبركاته
لو سمحتوا اذا بغيت اكتب
2E+12
في c++
كيف شكل المعادلة
وشكرا
يمكن أيضا أن تكتبها بنفس الشكل الذي كتبته أنت
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
ستكون خارج نطاق ال int حيث ال Int يستحمل حتى 2 أس 32 فقط , لذا تحتاج لأن تكون :
long int x = 2*pow(10,12);
جزاكم الله خيرا
جربت اخر وحدة وضبطت معي لكن هي جزء من معادلة طويلة واذا اضفت اليها الجزء الاخر وهو
3*pow(10,07*pow(x,2)))
يطلع الناتج صفر دائما والمعادلة في الاصل 8 بدل 7
لكن يطلع illegal digit '8' for base '8'
مشكورين
لو سمحتوا ابي مساعدتكم ابي اعرف سبب ان
الناتج يطلع صفر دائما اذا حطيت pow جوا pow
لما تحط 0 قبل الرقم يصبح بنظام الـ octal
يعني
08
هو 8 في الـ octal و لكن لا يوجد هكذا رقم!
جزاك الله خير
لكن ماهو نظام octal
واقدر اكمل البرنامج في c++
انا عندي مجموعة من الرسوم البيانية وفي كل وحدة x تبدا من قيمة وتنتهي عند قيمة ثانية
وyقيمتها من المعادلة فانا سويت البرنامج بهذه الطريقة لكن يطلع الناتج صفر اذا حطيت pow جوا pow
وايضا يوجد كم حد مثلا 3E+08X2 اذا شلت الصفر عادي او لا انا اعرف ان الصفر على الشمال ماياثر لكن حتى بهذي الحالة .... اسف على الاطالة ورجوا منكم افادتي ماجورين
أعتقد يصير صفر لأن الرقم يصبح كبيرا جدا (أكبر من حجم الـ long)
لو تقدر تضع الكود هنا يكون أحسن, بس أرجوك ارجك حطه ضمن [ code ]
اضغظ زر CODE في الأعلى قبل بداية الكود و بعد نهايته
تم تعديل هذه المشاركة بواسطة hasan_aljudy في 4 يوليو 2005 في 02:30
اسف ,,,,,
وش معنى pow ؟؟ : )
دالة رياضية .. او لا . .
تطبيق طمأنينة ، نسخة بيتا على أندرويد
عبدالله الشمّري - Al-Shammari
twitter @abshammeri
abshammeri AT gmail.com
github : abshammeri
#include<iostream>
#include<cmath>
using namespace std;
int main(){
long int x,y;
cout<<" enter x"<<endl; cin>>x;
if(x>=308 && x<=323){
y=-0.0018*pow(x,6)+
3.3377*pow(x,5)-
2646.4*pow(x,4)+
1*pow(10,06*pow(x,3))-
-3*pow(10,08*pow(x,2))+
3*pow(10,10*x)-
2*pow(10,12);
cout<<y<<endl;}
return 0;}
هذا هو الكود ومشكورين
لما قتلك حطه في CODE قصدي عالشغلة كلهة, مو سطر سطر.
#include<cmath>
using namespace std;
int main()
{
long x,y;
cout<<" enter x"<<endl; cin>>x;
if(x>=308 && x<=323)
{
y= -0.0018 * pow(x,6) +
3.3377 * pow(x,5) -
2646.4 * pow(x,4) +
1 * pow(10, 06 * pow(x,3) ) -
-3 * pow(10, 08* pow(x,2) ) +
3 * pow(10, 10 * x) -
2 * pow(10, 12);
cout<<y<<endl;
}
return 0;
}اول شي لا تحط 0 قبل الأرقام, يعني 6 اكتبهة 6 و ليس 06
ثاني شي, الـ pow هذا عنده عدة overloads, و هذا ليش مشكلة لما ترسل له ارقام, لكن لما ترسل له pow آخر فهنا مشكلة. سوي cast:
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long x,y;
cout<<" enter x"<<endl; cin>>x;
if(x>=308 && x<=323)
{
y= -0.0018 * pow(x,6) +
3.3377 * pow(x,5) -
2646.4 * pow(x,4) +
1 * pow(10, 6 * (long)pow(x,3) ) -
-3 * pow(10, 8* (long)pow(x,2) ) +
3 * pow(10, 10 * x) -
2 * pow(10, 12);
cout<<y<<endl;
}
return 0;
}انا طبعا مش فاهم شي من هذا الكود, بس لو دخلت 310, بيعطيك 1387855225
تم تعديل هذه المشاركة بواسطة hasan_aljudy في 4 يوليو 2005 في 17:40
جزاك الله خير وجعل ماقمت به في موازين حسناتك
لكن كل ماادخل رقم يطلع الناتج صفر حتى 310 مااعرف وش السبب
مشكور
هل جربت الكود اللذي وضعته؟
طيب, ما هو اصلا عمل البرنامج؟
نعم انا جربت الكود
هو برنامج للاشعة الفوق بنفسجية
انا الكود اشتغل عندي مثل ما قلتلك.
اذا لم تعمل عندك فمعناهة و الله اعلم ان المشكلة ليست من الكود بل من عندك, يعني ممكن خطأ في الـ compilation او انك تشغل الملف الخطأ او شي من هالقبيل.
#include <iostream>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long x,y;
long t1,t2,t3,t4,t5,t6,t7;
t1=-0.0018 * pow(x,6);
t2= +3.3377 * pow(x,5);
t3=- 2646.4 * pow(x,4);
t4=+1 * pow(10, 6 * (long)pow(x,3) );
t5= 3 * pow(10, 8* (long)pow(x,2) );
t6=3 * pow(10, 10 * x);
t7= -2* pow(10, 12);
cout<<" enter x"<<endl; cin>>x;
if(x>=308 && x<=323)
{
y=t1+t2+t3+t4+t5+t6+t7;
cout<<y<<endl;
}
return 0;
}BEng , Electronics and communications.
Embedded systems engineer.
Graphics Programmer
عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح
هناك خطأ فادح احمد ....
قمت بحساب الارقام (التي تعتمد على x) قبل ادخال الـ x
جزاكم الله كل الخير لكن انا اخطات خطا بسيط في المعادلة
اسف على ذلك
المعادلة الاصلية هي
Y=-0.0018x6+3.3377x5-2646.4x4+(1E+06)X3-(3E+08)x2+(3E+10)x-2E+12
وكتبت البرنامج بعد ذلك
واذا دخلت الرقم مثلا 315 المفروض y تساوي 1000 هذا من الرسم البياني
لكن في الكود يطلع الناتج رقم كبير جدا
واسف جدا على الاطالة واشكركم على جهودكم
#include<i#include<cmath>
using namespace std;
int main()
{
long x,y;
cout<<" enter x"<<endl;
cin>>x;
if(x>=308 && x<=323)
{
y= -0.0018*pow(x,6) + 3.3377*pow(x,5)
- 2646.4*pow(x,4) + (1*pow(10,6))*pow(x,3)
-(3*pow(10,8))*pow(x,2) +(3*10)*x
-(2*pow(10,12));
cout<<y<<endl;
}
return 0;//end program
}
ostream>هذا الموضوع مغلق.