Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

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

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

#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

أضف تعليق

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