كيف أبدل كل عدد أولي في المصفوفة بمضروبه؟
أردت في الكود التالي أن أبدل كل عدد أولي في المصفوفة بمضروبه و لكن عندما أقوم بطباعة عناصر المصفوفة تظهر أرقام عشوائية و لا تظهر الأعداد المدخلة أو مضروبها في حال كان العدد أولي .. فالمشكلة في الكود وما حلها؟
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; }