السلام عليكم
intx,y
cin>>x>>y
cout<<x/y اريد ان تكون دقه الناتج سته عشر رقم عشري ارجو الايضاح بالكود
السلام عليكم
intx,y
cin>>x>>y
cout<<x/y اريد ان تكون دقه الناتج سته عشر رقم عشري ارجو الايضاح بالكود
فارس2010 كتب:السلام عليكم
intx,y
cin>>x>>y
cout<<x/y اريد ان تكون دقه الناتج سته عشر رقم عشري ارجو الايضاح بالكود
اولاً انت هنا تقسم على int والنتاتج سيكون دائماً int
اذا كنت تريد النواتج بطول 16 منزله عليك بأستخدام النوع double لتحمل هذا الحجم من دقه البيانات
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
double x,y;
cin>>x>>y;
cout.setf(ios::fixed,ios::floatfield);
cout.precision(16);
cout<<x/y<<endl;
system("pause");
return 0;
}هنا سيظهر الناتج بطول 16 منزله عشريه (اذا كان اقل من ذلك ستظهر بشكل 0)
وهنا تقريب لاقرب 16 منزله عشريه
#include <iostream>
#include <cstdlib>
using namespace std;
int main ()
{
double x,y;
cin>>x>>y;
cout.setf(0,ios::floatfield);
cout.precision(16);
cout<<x/y<<endl;
system("pause");
return 0;
}جزاكم الله خيرا ردكم في غايه الوضوح
واطلب من سيادتكم ملف اتمكن به من دراسه دوال التقريب والدقه والعمليات الحسابيه بشكل اوسع
ارجو شرح الكود بشئ من التفصيل
فارس2010 كتب:ارجو شرح الكود بشئ من التفصيل
ما هي النقطه التي لم تفهمها حدد سؤالك ؟؟
cout.setf
cout.precision
هتين ال two methods هي فقط الشيء الغريب عليك
كما اوضحت بسؤال:
cout.setf(0,ios::floatfield);
ستملاء الاصفار بنهايه الرقم الحد الرقم الذي حددته من خلال
cout.precision(16);