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

سوالي وجوابي هل هو صح

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

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

اخواني الاعزى

انا حاولت في هذا السوال هو طباعه اكبر رقميين وباستخدام loop while فقط

تدخل عشره ارقام ويقوم البرنامج بطباعه اكبر قيمه وهي greater

ثم يطبع القيمه الثانيه وهي largest :: وهي اصغر من قيمه greater واكبر من من الارقام الاخرى

وهاي محاولتي واريد رايكم او تعقيباتكم جزاكم الله خير وهل يمكنني ان اختصر

  1.  
  2.  
  3. void greater :: processgreater ()
  4. {//begin function
  5. int greater;//greater number
  6. int largest; // largest number
  7. int counter;//the counter
  8. int number;// the number enter by user
  9.  
  10. //initializ phase
  11. greater = 0;
  12. largest = 0;
  13. counter = 1;
  14. while( counter <= 10 )//while counter less than or equal ten
  15. {
  16.  
  17. cout<<"Enter the number "<<counter<<" :: ";//prompt the user to enter data
  18.  
  19. cin>>number;//input 10 number's
  20.  
  21. if ( greater < number )//if greater less than number
  22.  
  23. {
  24.  
  25. largest = greater ;// store greater to largest
  26.  
  27. greater = number;//store number to greater
  28.  
  29. }//end if
  30.  
  31. else if ( largest < number && largest < greater )
  32.  
  33. largest = number;//store number to largest
  34.  
  35.  
  36.  
  37. counter ++;//add one to conter
  38. };//end while
  39.  
  40. //display greater and largest
  41. cout<<"The greater number is : "<<greater<<endl;
  42. cout<<"The largest number is : "<<largest<<endl;
  43.  
  44. }//end function
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  

تم تعديل هذه المشاركة بواسطة سار مع الليل في 19 أغسطس 2009 في 01:15

49940.jpg
#2

جزاك الله كل خير اخي الكريم ، الكود الذي قمت بكتابته صحيح وقمت بتجربته على compiler C وهو صحيح ولكن يوجد به خطوات اضافية من ناحية الشرط لماذا لا تقارن مباشرة في ( else if ) لأنه وضعت largest=greater فهو تلقائيا سوف يكون اقل من greater ولا داعي أن تضع وسوف أكتب لك الكود بطريقة سهلة مبسطة وان شاء الله تعجبك :

إن شاء الله هذا الكود البسيط سوف يقوم بالوظيفة

#include<stdio.h>
#include<conio.h>
main ()
{
clrscr();
   int number=0,firstlargest=0,secondlargest=0,i=1;
   printf("Enter 10 number ::");
   while ( i<=10)
   {
	 printf("\n"); scanf("%d",&number);
	 if (number>firstlargest)
	 {
	 secondlargest=firstlargest;
	 firstlargest=number;
	 }
	 else if (number > secondlargest )
		   secondlargest=number;
	 i++;
   }
	printf(" \n firstlargest =%d ,, second largest =%d",firstlargest,secondlargest);
getch();


}
#3

اخي الغالي شكراً على تعقيبك ولك الشكر الكثير على تعاونك اخي برنامجك ممتاز وهو مكتوب بلغه C

ولكن انا اخذت منك المهم وهو الشرط بتاعك مختصر

شكرااااااااااااااااااااااااااااااااااااااااااااااااا

49940.jpg

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