الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

محتاج مساعدة في الكود ده

بدأه AmrH في 2 فبراير 2009 · 2 رد · 529 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

دلوقتي البرنامج ده أنت بتدخله رقم و هو بيجبلك المضروب بتاعه. البنامج شغال تمام بس المشكلة أني مبرمجه على أنه لو الرقم بالسالب يعطي المضروب بالسالب لكنه مبيعملش كده.

 #include <stdio.h>
  #include <math.h>

  void factorial ( int );

  int main ( void )
  {
	 int number;

	 printf("Enter a number: \n");
	 scanf("%d", &number);

	 factorial ( number );
  }

  void factorial ( int num )
  {
	 int i;
	 long int factorial = num;

	 if ( num == 0 || num == 1 )
		factorial = 1;

	 else if ( num == -1 )
		factorial = -1;

	 else {
		for( i = ((int) fabs(num)) - 1; i > 1; i--) {
		   factorial *= i;
		}
		if ( num < 1 )
		   factorial *= -1;
	 }

	 printf("\nFactorial = %ld\n", factorial);
  }

</div>

تم تعديل هذه المشاركة بواسطة AmrH في 2 فبراير 2009 في 00:56

#2

هذا الكود يعطي المطلوب:

  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. long factorial ( int );
  5.  
  6. int main ( void )
  7. {
  8. int number;
  9. char t=' ';
  10. printf("Enter a number: ");
  11. scanf("%d", &number);
  12. if(number<0)t='-';
  13. printf("%c%d",t,factorial (number));
  14. }
  15.  
  16. long factorial ( int num )
  17. {
  18. num=(num>0)?num:-num ;
  19. return (num>0)?num*factorial(num-1):1 ;
  20. }
  21.  
  22.  

تم تعديل هذه المشاركة بواسطة فهدالشلوي في 2 فبراير 2009 في 01:07

tvquran_6.gif

#3

وهذا بال سي بلس بلس

#include <iostream.h>

int factorial(int);

void main(void) {
	int number;

	cout << "Please enter a positive integer: ";
	cin >> number;
	if (number < 0)
		cout << "That is not a positive integer.\n";
	else
		cout << number << " factorial is: " << factorial(number) << endl;
}

int factorial(int number) {
	int temp;

	if(number <= 1) return 1;

	temp = number * factorial(number - 1);
	return temp;
}

مواضيع مشابهة