اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

مرحباً محمد ..
يُمكنك عمل البرنامج بهذا الشكل :

#include <iostream>
using namespace std;

// دالة مساعدة لطباعة عناصر مصفوفة عددية
void printArray(int arr[], int size)
{
    for (int i = 0; i < size; i++)
    {
        printf("%d ", arr[i]);
    }

    printf("\n");
}


// دالة مساعدة لمعرفة إذا كان العدد أولي أو لا
bool isPrime(int num) {
    bool flag = false;
    for(int i = 2; i <= num/2; ++i)
    {
        if(num % i == 0)
        {
            flag = true;
            break;
        }
    }

    return !flag;
}

// دالة تستقبل مصفوفة أعداد و ترجع أصغر عدد أولي إن كان موجودا
int min_prime(int arr[], int size)
{
    int min = arr[0];
    for (int i = 0; i < size; ++i) {
        if (min > arr[i] && isPrime(arr[i]))
            min = arr[i];
    }
    return min;
}


int main() {
    // تعريف مصفوفة
    int arr[] = {31, 12, 11, 6, 22, 8, 89, 76, 91, 111};
    // حساب عدد القيم التي تحتويها المصفوفة
    int n = sizeof(arr) / sizeof(arr[0]);
    // طباعة عناصر المصفوفة
    printArray(arr, n);

    int min = min_prime(arr, n);

    if (isPrime(min))
        cout << "Min Prime is: " << min;
    else
        cout << "Array does not contain any prime number";

}

بعد تشغيل البرنامج ستظهر النتيجة بهذا الشكل :
cpp_min_prime_in_array.thumb.PNG.67abdca632faf6825f053ab1acd820e3.PNG

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

  • 0
نشر

السلام عليكم، بالنسبة للرسم يمكن شرح البرنامج بشكل مبسط كما موضح بالصورة المرفقة.

الشرح: يتم المرور على كل عنصر في المصفوفة بالترتيب، ويتم الكشف إذا كان العنصر أولي وأصغر من أصغر قيمة أولية حالية، إذا كانت الإجابة بنعم يتم تحديث أصغر قيمة أولية حالية.

diagram.png

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...