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

مساعدة في ++C

مغلق
بدأه jojo في 4 أبريل 2005 · 3 رد · 555 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أريد كتابة برنامج في لغة ++C يقوم بإدخال عدد من الأرقام في مصفوفة array

ثم طباعة أصغر عددين في هذه المصفوفة + طباعة عدد مرات ظهور هذين العددين

في المصفوفة .

سؤالي : كيف يمكنني طباعة أصغر عددين في هذه المصفوفة + طباعة عدد مرات ظهور هذين العددين

في المصفوفة ؟

و لكم مني جزيل الشكر

#2

عرفي متغير min مثلا .. وأعطيه القيمة الأولى في المصفوفة ..

ودعيه يبحث عن قيم أصغر منه :)

بعد ذلك .. إن لم يجد .. سيكون العدد الأول هو الأصغر :)

هذا أحد الحلول ..

#3

السلام عليكم

اختي بإمكانك تجعلين متغيرين وليكن min1,min2,cnt1,cnt2

cnt1 هو عباره عن عداد يحسب عدد تكرار العدد الصغير الاول وcnt2 عداد للعدد الصغير الثاني.

وتجعلين min1 يأخذ القيمة الاولى للـ array وتجعلين min2 تاخذ القيمة الثانيه من الـ array (طبعا هذا بافتراض طول مصفوفتك لايقل عن 2 :) )

ثم بالستخدام الـ for loop من العنصر الثالث للـ array تبدأين عملية المقارنة فيما لو كان هذا العنصر اقل من او يساوي احد العددين اللي افترضنا انهم اصغر عددين ؟!!

من هنا رح توصلين لاحد احتملين : 1-انه يكون يساويه ومن ثم تزيدين العداد لهذا العدد 2- اوانه يكون اقل وبالتالي تغيرين القيمه للعدد الصغير

رح يكون عند الجزء من ال code الاساسي كالتالي :

	int array[10]={0};
	cout<<"fill the array\n";
	for(int i=0;i<10;++i)
  cin>>array;

	int min1=array[0],min2=array[1],cnt1=1,cnt2=1;
	for(i=2;i<10;++i)
	{
  if(array<= min1 || array<=min2)
  {
 	 if(array<=min1)
 	 {
 	 if(array==min1)
 	 cnt1++;
 	 min1=array;
 	 }
 	 else
 	 {
    if(array==min2)
    cnt2++;
    min2=array;
 	 }
  }
	}

طبعا تركت لك عملية الطباعة :)

والسلام عليكم ..

*الإنسان هو محصلة مايعمله لنفسه

#4

سلاااااااام

الحل السابق ما يضبط بكل الاحوال ( جل من لا يخطأ :rolleyes: )

لذلك حاولت اضبطه بالشكل التالي :

	int array[10]={0};
	cout<<"fill the array\n";
	for(int i=0;i<10;++i)
  cin>>array;

	int min1=array[0],min2=array[1],cnt1=0,cnt2=0;
	for(i=2;i<=9;++i)
	{
  if(array< min1 )
 	 min1=array;
  if(array[i+1]< min2)
     min2=array[i+1];
  i+=2;
	}
	for(i=0;i<10;++i)
	{
  if(array==min1)
 	 ++cnt1;
  if(array==min2)
 	 ++cnt2;
	}

واي سؤال انا حاضره ...

*الإنسان هو محصلة مايعمله لنفسه

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…