• 0

كيف أحصل على أكبر وأصغر عدد باستخدام c++؟

أريد كتابة برنامج يحسب لي أكبر وأصغر قيمة في مجموعة 10 أعداد، فكيف أستطيع فعل ذلك في لغة سي بلاس بلاس؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

البرنامج بسيط، فيكفي إنشاء مصفوفة من 10 أعداد صحيحة حيث سنستخدم حلقة التكرار for لملئ هذه المصفوفة بالأعداد المطلوبة ومن ثم سنستخدم نفس حلقة التكرار لمقارنة الأعداد واستخراج اكبر واصغر عدد.

اعتبرنا في البداية أن أول عدد في المصفوفة هو أكبر وأصغر عدد ثم بدأنا بالمقارنة مع بقية الأعداد فإذا وجدنا عدد اكبر/اصغر منه غيّرنا قيمة المتغير mi أو ma (متغيرات اكبر واصغر قيمة).

#include <iostream>
using namespace std;

int main()
{
	int T[10];
	int i, mi, ma;

	for (i=0;i<10;i++)
	{
		cout<<"Enter a number ";
		cin>>T[i];
	}
	mi = T[0];
	ma = T[0];
	for (i=1;i<10;i++)
	{
		if (T[i]<mi)
			mi=T[i];

		if (T[i]>ma)
			ma=T[i];
	}
	cout<<"The Max is "<<ma<<endl;
	cout<<"The Min is "<<mi<<endl;
}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

إذا لم تكن مهتمًا بالتفاصيل فأنصحك بالشكل التالي الذي يسمح باستخدام الدالة max_element والتي تتطلّب وسيطين: الأوّل مؤشّر إلى العنصر الأوّل في المصفوفة المراد إيجاد القيمة الأكبر ضمنها، والوسيط الثاني هو مؤشّر العنصر الأخير من نفس المصفوفة. انظر إلى الشيفرة التالية:

#include <iostream>
#include <algorithm>

int main()
{
    int list[4] = {10, 40, 7, 8};
    std::cout << *std::max_element(list, list+4);
   
   return 0;
}

الدالة max_element موجودة ضمن المكتبة algorithm.h. لاحظ أنّه يكفينا تمرير متغيّر المصفوفة list كوسيط أوّل للإشارة إلى العنصر الأوّل ضمنها، أمّا العنصر الأخير فهو العنصر الرّابع (في مثالنا هذا) ونحصل على مؤشّره بالصيغة التالية: list + 4

بعد تنيفذ البرنامج السابق، ستحصل في الخرج على القيمة 40. (لاحظ وجود الرمز * في السطر السادس قبل الاستدعاء إلى الدالة max_element).

هذه الطريقة أسرع وأكثر فعاليّة، وخصوصًا في المصفوفات ذات عدد العناصر الكبير.

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن