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

[ تمت الإجابة ]إيجاد مجموع الأعداد الزوجية في مصفوفة

مغلق
بدأه بسام العبسي في 1 يوليو 2012 · 2 رد · 2,777 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بعد العديد من المحاولات لم استطع ايجاد الحل المناسب لسؤال يقول

اوجد مجموع الارقام الزوجية في مصفوفة باستخدام Recursive function

#include <iostream>

using namespace std;

int sum(int [], int) ;

int main() {

int n = 10 ;

int A[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

cout << "Total is : " << sum(A, n) << endl;

return 0;

}

int sum(int A[], int n )

{

if (n == 0)

return 0 ;

else

{

if (A[n - 1] % 2 == 0)

return A[n -1] + sum(A, n - 1);

}

}

والناتج هو 11

رغم انه المفروض الناتج يكون 30

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 2 يوليو 2012 في 00:15 — السبب: تعديل العنوان.

#2

السلام عليكم

مرحبا بك أخي بسام العيسي في منتديات الفريق العربي للبرمجة :)

خطأك يكمن في عدم إدراج الـ else في كل مرة لا يتحقق فيها الشرط, إليك تصحيح الكود :

#include <iostream>
using namespace std;
int sum(int [], int);

int main() {
    int n = 10;
    int A[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    cout << "Total is : " << sum(A, n) << endl;
    return 0;
}

int sum(int A[], int n) {
    if (n == 0) {
        if (A[n] % 2 == 0)
            return A[n];
        else return 0;
    } else {
        if (A[n - 1] % 2 == 0)
            return A[n - 1] + sum(A, n - 1);
        else
            return sum(A, n - 1);
    }
}

ملاحظات :

  • النوع المناسب لموضوعك هو "سؤال" و ليس برنامج !
  • الأكواد البرمجية توضع في الوسم code لتكون أكثر قابلية للقراءة
  • عنوان الموضوع يجب أن يدل على محتواه و ليس مجرد كلمة "سؤال" ! (تم تعديل العنوان :))

أرجو لك التوفيق. :happy:

#3

اشكرك اخي العزيز على تصحيح خطأي بفضلك فهمت الان دالة الاستدعاء الذاتي

وان شاء الله في المرة القادمة سأتجنب الاخطاء

وملاحظات الثلاث تؤخذ بالاعتبار شكرا ع التويه

والسلام عليكم

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…