إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

ممكن أعرف مشكلة هالكود ؟؟؟ أول مرة على c

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • ممكن أعرف مشكلة هالكود ؟؟؟ أول مرة على c

    السلام عليكم محاولة بمجاراة كتاب لل C المسألة في الكتاب تتطلب كتابة برنامج بلغة السي باستخدام دالة forمع ملاحظة ان السؤال هذا يحتاج 2 loops يكون الناتج كما يلي

    x/!1+x*x/!2+x*x*x/!3+ا
    ملحوظه
    !1 يعني مضروب الواحد
    !2 يعني مضروب 2
    !3 يعني مضروب 3
    x*x تربيع x
    x*x*xيعني تكعيب x

    أنا كتبت التالي بس فيه غلط ممكن أحد يراجع لي ويقولي فين الخطأ ؟؟؟؟؟
    كود:
    <include < stdio.h #
    
    ()int main
    }
    ;int sum,x,y,z,fac
    ;int def
    
    }(++;for (x=1;x<=3
    ;y=x*x
    
    
    
    
    
    
    }(for(z=1;z<=3;++z
    ;fac=z*z
    ;def=y/fac
    ;sum+=def
    
    
    printf("the sum is %d",sum
    {{
    
    ;return 0
    {
    التعديل الأخير تم بواسطة عبدالله الصبي; الساعة 04-12-2007, 05:42 PM.

  • #2
    اخى إنت تقصد إن
    sum = x/!1 + x**2 / !2
    وكدا ؟
    Programming-Fr34ks[dot]NET
    Ma Weblog
    ابدأ بتعلم Python | Ruby
    كتاب البايثون متوافر الآن
    لا اتواجد بهذا المنتدى ... للإتصال

    تعليق


    • #3
      ملحوظة : ياريت تستخدم ال CODE TAGS عشان الكود يكون سهل بالقراية

      شوف الحل دا للسؤال بتاعك
      اولا إنت عايز تحسب ال factorial للرقم او المضروب ودى افضل طريقة ليها هى إنك تعمل Recursive function تحسبلك كل رقم
      ال prototype هيكون كالتالى
      كود:
      int factorial(int num);
      كود:
      int factorial(int num){
          if (num==0)
                return 1;
          else
                return num*factorial(num-1);
      }
      بعد كدا عايزين نحسب ال x**2 و x** 3 وهكذا فهنستخدم ال Power function الموجودة بال math header لأنك مش ينفع تجيب الناتج بالشكل دا x**2

      loop بسيطة نحسب بيها الsum وهى ال pow(x, counter) مقسومة على ال factorial(counter)

      كود:
          for( ; counter<4 ; counter++){
             
              sum +=(float) pow(x,counter)/factorial(counter);
          }
      انا مش عارف x قيمتها إيه فانا فرضتها ب 4

      ملحوظة تانية حاول تسمى المتغيرات بأسامى واضحة ليك قبل اى شئ عشان لما تيجى تتبع المشكلات يكون سهل

      الكود النهائى
      كود:
      #include <stdio.h>
      #include <math.h>
      
      int factorial(int num);
      
      
      int main(void){
              
          int counter=1;
          float sum=0;
          int x=4; //Maybe!
          
          for( ; counter<4 ; counter++){
             
              sum +=(float) pow(x,counter)/factorial(counter);
          }      
          printf("SUM: %f", sum);
          
      }
      
      int factorial(int num){
          if (num==0)
                return 1;
          else
                return num*factorial(num-1);
      }
      بالتوفيق
      Programming-Fr34ks[dot]NET
      Ma Weblog
      ابدأ بتعلم Python | Ruby
      كتاب البايثون متوافر الآن
      لا اتواجد بهذا المنتدى ... للإتصال

      تعليق


      • #4
        مشكور سترايكر لكن ممكن أعرف الـloop الثاني فين ؟؟؟؟؟ هو فيه واحد بس في الكود ;)

        تعليق


        • #5
          هلا بالشبااااااااااااااب

          لينكس السعودية ::
          التكرار الاخر موجود في الدالة factorial.

          ممكن تكتبها بهذا الشكل :


          كود:
          long factorial(int x)
          {
          long f=1;
          
          for(int i=x;i>0;i--)
               f*=i;
          
          return f;
          }
          وهو اسرع في التنفيذ من ال Recursion Method ،، واقل استهلاك للذاكرة.
          ==============
          هلا بالاستاذ StrikerX
          :clown:

          بعد اذن حضرتك احب اضيف شيء بسيط ::

          هذه المعادلة هي عبارة عن مفكوك ماكلورين للدالة الاسية e^x
          وصيغتها كالاتي ::



          لاحظ وجود العدد 1 في بداية السلسة .

          طبعا هذا المفكوك يلعب دور كبير في تمثيل الدوال على الكمبيوتر.
          وبدونها لا نستطيع حساب دوال الجا والجتا و...الشلة الكريمة
          يعني ما في برمجة games :angry_red:








          يلا يا شباب جربوا استخدام الدالة sin الموجودة في math.h وقارنوها مع المفكوك السابق.

          تحيااااتي للجميع ،،

          تعليق


          • #6
            سورى ياجماعة كنت نايم :D

            @لينكس السعودية: زى ماSudanix قالك كدا

            @ٍsudanix : اهلا ياحبى
            هذه المعادلة هي عبارة عن مفكوك ماكلورين للدالة الاسية e^x
            فعلا اخدناها فى الكلية بس مش حد قالنا عنها حاجة lol

            ملحوظة على موضوع السرعة كنت على طول بفتكر ال Recursive way هى الأسرع فشكرا على المعلومة

            كود:
            C:\Python25>pyTim.py fact1.exe
            C:\Python25\pyTim.py
            Facotrial(10): 3628800
            Execution time :  0.0396907986909
            
            C:\Python25>pyTim.py fact2.exe
            C:\Python25\pyTim.py
            Factorial(10): 3628800
            Execution time :  0.0396421891609
            Programming-Fr34ks[dot]NET
            Ma Weblog
            ابدأ بتعلم Python | Ruby
            كتاب البايثون متوافر الآن
            لا اتواجد بهذا المنتدى ... للإتصال

            تعليق


            • #7
              StrikerX SudaNix

              شكرا جزيلا لكما

              تعليق

              يعمل...
              X