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

حساب اصغر متغير

بدأه hero98 في 26 سبتمبر 2011 · 7 رد · 792 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي 10 متغيرات

int a , b , c ,d , e , f ,g ,h ,i ,j ;

ملحوظه : معلوم لدي قيمة كل متغير ..

احتاج المساعده في حساب اصغر قيمة متغير من هذه المتغيرات

بطريقة اخري

اريد حساب اصغر متغير ... ثم الذي يليه مياشرة ... ثم الذي يليه ( إن أمكن )

وجزاكم الله خيرا اخواني

لدي محاولة ولكن اعتقد انها ستكون طويله

if ( a < b ) 
{
textBox1.text = "<";
}

اعتقد بهذا الكود سوف اقوم بمقارنة A مع كل المتغيرات الأخري .. ثم D مع المتغيرات الاخري ثم ... إلخ

تم تعديل هذه المشاركة بواسطة hero98 في 27 سبتمبر 2011 في 00:22

#2

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

لما لا تضع قيم المتغيرات في مصفوفة....ستوفر على نفسك الكثير من العناء

Currently working on ASP.net ..... come Back Soon

#3
Hisham_IT كتب:

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

لما لا تضع قيم المتغيرات في مصفوفة....ستوفر على نفسك الكثير من العناء

انا مبتدأ علي أيه حال ولا اعلم كيف تتم

ممكن المساعده في حلها ؟

#4
hero98 كتب:

انا مبتدأ علي أيه حال ولا اعلم كيف تتم

ممكن المساعده في حلها ؟

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

يعني لو كان عندك المتغيرات نفسهم و تريد وضعهم في مصفوفة ...عندها

تستطيع بالاستفادة من دوال جاهزة ان ترتب العناصر تصاعديا او تنازليا......او تخرج العنصر الاكبر و الذي يليه و هكذا.....الى اخره

اما اذا اردت كتابة كود الترتيب بنفسك....فيوجد خوارزميات ترتيب تستطيع ان تتبعها....و لكن هذه أسهل...

كما تستطيع ان تضيف العناصر الى list مثلا و ترتبهم...و نفس الشيء

int a, b, c, d, e, f, g, h, i, j;

            a = 2; b = 1; c = 4; d = -3; e = 5; f = 6; h = 7; i = 0; j = 1;

//declaring an Array
            int[] elements = { a, b, c, d, e, f, g, h, i, j};

            //sorting the Array descending
            Array.Sort(elements);
            string result = "";

//اظهار العناصر مرتية ترتيبا تصاعديا
            for (int index = 0; index < elements.Length; index++)
            {
                result += elements[index].ToString() + "          ";
            }
            MessageBox.Show(result);
1

Currently working on ASP.net ..... come Back Soon

#5
Hisham_IT كتب:

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

يعني لو كان عندك المتغيرات نفسهم و تريد وضعهم في مصفوفة ...عندها

تستطيع بالاستفادة من دوال جاهزة ان ترتب العناصر تصاعديا او تنازليا......او تخرج العنصر الاكبر و الذي يليه و هكذا.....الى اخره

اما اذا اردت كتابة كود الترتيب بنفسك....فيوجد خوارزميات ترتيب تستطيع ان تتبعها....و لكن هذه أسهل...

كما تستطيع ان تضيف العناصر الى list مثلا و ترتبهم...و نفس الشيء

int a, b, c, d, e, f, g, h, i, j;

            a = 2; b = 1; c = 4; d = -3; e = 5; f = 6; h = 7; i = 0; j = 1;

//declaring an Array
            int[] elements = { a, b, c, d, e, f, g, h, i, j};

            //sorting the Array descending
            Array.Sort(elements);
            string result = "";

//اظهار العناصر مرتية ترتيبا تصاعديا
            for (int index = 0; index < elements.Length; index++)
            {
                result += elements[index].ToString() + "          ";
            }
            MessageBox.Show(result);

اشكرك علي المساعده والكود سليم

ولكن ماذا لو اردت أن يظهر العنصر الأصغر فقط ؟

دون الحاجه إلي أظهار العناصر الأخري

#6
hero98 كتب:

اشكرك علي المساعده والكود سليم

ولكن ماذا لو اردت أن يظهر العنصر الأصغر فقط ؟

دون الحاجه إلي أظهار العناصر الأخري

بما ان المصفوفة اصبحت مرتية تصاعديا...استخرج منها فقط اول عنصر اي اقل عنصر....

MessageBox.Show(elements[0].toString());

او بامكانك استخدام Linq ...

اخرج اكبر قيمة او اصغر قيمة ...مباشرة و لا داعي لترتيب المصفوفة

     int max=elements.Max();
            int min = elements.Min();
            MessageBox.Show("max=" + max + " ,min=" + min);
1

Currently working on ASP.net ..... come Back Soon

#7
Hisham_IT كتب:

بما ان المصفوفة اصبحت مرتية تصاعديا...استخرج منها فقط اول عنصر اي اقل عنصر....

MessageBox.Show(elements[0].toString());

او بامكانك استخدام Linq ...

اخرج اكبر قيمة او اصغر قيمة ...مباشرة و لا داعي لترتيب المصفوفة

     int max=elements.Max();
            int min = elements.Min();
            MessageBox.Show("max=" + max + " ,min=" + min);

جزاك الله خيرا

#8

إجابة الأخ Hisham هي الحل الأمثل , وهذا رابط مقاله فيها شرح للعملية بتفصيلات أكثر

المقاله

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