عمار الشيخ

الأعضاء
  • المساهمات

    1
  • تاريخ الانضمام

  • تاريخ آخر زيارة

السُّمعة بالموقع

0 Neutral
  1. #include <iostream> #include <sstream> using namespace std; int factorial(int number) { if (number < 0) return false; if (number == 0) return 1; return number * factorial(number - 1); } void show_multiply (int number) { stringstream res; for (int i = number; i > 1; i--) { res << i << " x "; } res << "1"; cout << res.str(); } int main() { int x = 5; int fact = factorial(x); show_multiply(x); } أولاً: لحساب الـ factorial انت بحاجة بس لـ parameter واحد. ثانياً: لا تستخدم تابع show_multiply ضمن cout. الخطأ عندك انو تابع show_multiply عم تساوي جواتو تعليمات cout، والخرج تبعو من النمط int، ومو محدد خرج لإلو إلا return 0 لهيك دائماً عم يخرج 0 الحل: إما تخلي تابع show_multiply يساوي تعليمات cout، وبدون خرج، وبالتالي لح يطبع 5x4x3x2x1، وما تستدعيه ضمن cout تانية خارجية (وهاد الحل يلي استخدمتو بالكود تبعي) أو إنك تخلي خرج التابع show_multiply من النمط string، وتعملو cout من برا.