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

سؤال :كتابة الكسور الاعتيادية في بسط ومقام

بدأه لمسات التصميم في 9 ديسمبر 2010 · 6 رد · 1,981 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

تحية طيبة

كيف يكمن كتابة الكسور الاعتيادية (غير العشرية) في ++c على صيغة بسط على مقام ويكون الناتج بسط ومقام أيضا.!!

#2

يمكنك استخدام مكتبة Boost.Rational للقيام بهذا الأمر:

#include <iostream>
#include <boost/rational.hpp>
using namespace std;
using namespace boost;

int main()
{
	typedef boost::rational<long> fraction_t;

	// f1 = 1/10, f2 = 2/3;
	fraction_t f1(1, 10), f2(2, 3), f3;
	std::cin >> f3; // enter 1/5
	std::cout << f1*f2*f3; //  1/75
}

تحياتي...

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 9 ديسمبر 2010 في 11:28

2
#3

اشكرك اخي الكريم على الرد السريع....

وجاري المحاولة ..تحياتي

#4

أخي الكريم ..

قمت بتحميل مكتبة boost وثبتها حسب التعليمات المرفقة من موقع المكتبة وعند تطبيق البرنامج تظهر رسالة الخطأ التالية

c:\program files\boost\boost_1_45_0\boost\iterator.hpp(57) : fatal error C1903: unable to recover from previous error(s); stopping compilation

أرجو المساعدة

#6

قمت باتباع ارشاداتك استاذي القدير وتم بناء المكتبة بنجاح وعند تطبيق البرنامج تظهر الرسالة نفسها

c:\program files\boost\boost_1_45_0\boost\iterator.hpp(57) : fatal error C1903: unable to recover from previous error(s); stopping compilation

لا أدري أين الخطأ ..علما أني أعمل على

( Microsoft Visual Studio 6.0 ( Visual C++ 6.0 ........

وآسف إذا اتعبتك معي...!!

#7
اقتباس
لا أدري أين الخطأ ..علما أني أعمل على

( Microsoft Visual Studio 6.0 ( Visual C++ 6.0 ........

للأسف المترجم الملحق بـ VC6 قدييييييييييييييم جداً, ربما منذ 12 سنة! الحل هو استعمال VC2010 express في هذه الحالة. حسب موقع Boost فإنهم يدعمون المترجمات و المنصات التالية بشكل رسمي:

Compilers Tested

Boost's primary test compilers are:

    *
      Linux:
          o
            GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.1.
          o
            GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0.
          o
            Intel: 10.1, 11.0, 11.1
          o
            Pathscale: 3.2.
    *
      OS X:
          o
            GCC: 4.0.1, 4.2.1, 4.4
          o
            GCC, C++0x mode: 4.4.
          o
            Intel: 11.1
    *
      Windows:
          o
            Visual C++: 7.1, 8.0, 9.0 and 10.0.
          o
            GCC, mingw: 4.3.3.
    *
      FreeBSD:
          o
            GCC: 4.2.1, 32 bit.
          o
            GCC: 4.2.1, 64 bit.

Boost's additional test compilers include:

    *
      Linux:
          o
            GCC: 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.4.5, 4.5.0, 4.6.0 (dev version).
          o
            GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.0.
          o
            Intel: 10.1, 11.0, 11.1.
          o
            pgCC 10.1.
          o
            PathScale: 3.2.
          o
            Clang from subversion.
    *
      OS X:
          o
            Intel C++ Compiler: 10.1, 11.0, 11.1.
          o
            GCC: 4.0.1, 4.2.1, 4.4.4
          o
            GCC, C++0x mode: 4.4.4
          o
            Clang from subversion.
    *
      Windows:
          o
            Borland: 5.9.3, 6.1.3 (2009), 6.2.1 (2010), 6.3.0
          o
            GCC, mingw: 4.3.3, 4.4.5, 4.5.1
          o
            GCC, mingw, C++0x mode: 4.5.1
          o
            Visual C++: 7.1, 8.0, 9.0, 10.0
    *
      AIX:
          o
            IBM XL C/C++ Enterprise Edition, V11.1.0.0.
    *
      FreeBSD:
          o
            GCC 4.2.1, 64 bit.
    *
      Solaris:
          o
            Sun C++: 5.10.

تحياتي..

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