كيف أبدل كل عدد أولي في المصفوفة بمضروبه؟

أردت في الكود التالي أن أبدل كل عدد أولي في المصفوفة بمضروبه و لكن عندما أقوم بطباعة عناصر المصفوفة تظهر أرقام عشوائية و لا تظهر الأعداد المدخلة أو مضروبها في حال كان العدد أولي .. فالمشكلة في الكود وما حلها؟

#include <iostream>
using namespace std;

int f(int n);

int main()
{
    int a[10], i, j, n, k;

    cout << "enter size of array\n";
    cin >> n;

    cout << "\n ========= \n insert the items..\n";
    for (i = 0; i < n; i++)
        cin >> a[i];


    cout << "\n ========= \n";


    for (i = 0; i < n; i++)
    {
        for (j = 2; j < a[i]; j++)
        {
            if (a[i] % j != 0)
                a[i] = f(a[i]);
        }
    }


    for (k = 0; k < n; k++)
        cout << a[k] << " ";
}


int f(int n)
{
    if ((n == 0) || (n == 1))
        return 1;
    else
        return n * f(n - 1);

    return 0;
}

إجابات 1

أضف إجابة

يجب تسجيل الدخول حتى تتمكن من إضافة إجابة أو رد.

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة