الانتقال إلى المحتوى الرئيسي

اكتب برنامجا للعثور على عدد العناصر التي تساوي الحد الأقصى في المصفوفة

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

لحل هذه المشكلة ، يمكنك استخدام حلقة تمر عبر جميع عناصر المصفوفة ، ومقارنتها بالقيمة القصوى الحالية ، وإذا لزم الأمر ، قم بتحديث القيمة القصوى وعداد العناصر الموجودة. في نهاية الدورة ، ستحتوي قيمة العداد على عدد العناصر التي تساوي الحد الأقصى.

من المهم ملاحظة أنه عند حل هذه المشكلة ، من الضروري مراعاة تفاصيل لغة البرمجة التي سيتم كتابة البرنامج بها. قد تختلف التفاصيل المحددة للتنفيذ اعتمادا على اللغة المحددة.

مثال على خوارزمية لإيجاد عدد العناصر التي تساوي الحد الأقصى:

  • تهيئة المتغيرات لتخزين القيمة القصوى وعداد العناصر يساوي الحد الأقصى
  • تذهب من خلال جميع عناصر المصفوفة
  • إذا كان العنصر الحالي أكبر من القيمة القصوى ، فقم بتحديث القيمة القصوى وإعادة تعيين العداد
  • إذا كان العنصر الحالي يساوي القيمة القصوى ، فقم بزيادة العداد بمقدار 1
  • في نهاية الدورة ، اعرض عدد العناصر التي تساوي الحد الأقصى
  1. برنامج للبحث عن الحد الأقصى لعدد العناصر في صفيف
  2. الخوارزمية
  3. شفرة المصدر للبرنامج
  4. مثال الاستخدام
  5. الاستنتاجات
  6. سؤال وجواب
  7. ما هي لغة البرمجة التي يجب استخدامها لحل هذه المشكلة?
  8. ما هو تعقيد الخوارزمية لإيجاد عدد العناصر يساوي الحد الأقصى في المصفوفة?

برنامج للبحث عن الحد الأقصى لعدد العناصر في صفيف

لإكمال هذه المهمة ، ستحتاج إلى كتابة برنامج بلغة البرمجة المحددة التي ستقرأ المصفوفة وتجد القيمة القصوى في المصفوفة. ثم سيقوم البرنامج بمقارنة كل عنصر من عناصر المصفوفة مع الحد الأقصى للقيمة الموجودة وزيادة العداد إذا كان العنصر يساوي الحد الأقصى.

لنلق نظرة على مثال لبرنامج بايثون:

ديف ماكس كونت (آر آر):

ماكس فال = ماكس (آر) # ابحث عن القيمة القصوى في المصفوفة

العد = 0 # عداد لعناصر العد يساوي الحد الأقصى

للاسطوانات في آر:

إذا الأسطوانات = = ماكس:

عدد + = 1

عد العودة

# مثال على استخدام

وظيفة الصفيف = [1, 3, 5, 3, 7, 3]

النتيجة = العدد الأقصى (صفيف)

طباعة ("عدد العناصر يساوي الحد الأقصى:" ، النتيجة)

في هذا المثال ، يقرأ البرنامج مصفوفة [1, 3, 5, 3, 7, 3], يجد القيمة القصوى ، وهي 7 ، ويقارن كل عنصر بالقيمة القصوى الموجودة. ونتيجة لذلك ، اتضح أن عدد العناصر يساوي الحد الأقصى هو 1.

ينتج البرنامج النتيجة "عدد العناصر يساوي الحد الأقصى: 1".

يمكنك استخدام نهج مماثل في لغات البرمجة الأخرى مثل سي Java ، جافا ، جافا سكريبت ، إلخ.

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

الخوارزمية

لحل مشكلة العثور على عدد العناصر التي تساوي الحد الأقصى في المصفوفة ، يمكنك استخدام الخوارزمية التالية:

  1. تهيئة متغير القيمة القصوى بقيمة العنصر الأول من المصفوفة.
  2. تهيئة متغير العد بالقيمة 1.
  3. نذهب من خلال العناصر المتبقية من المصفوفة:
    • إذا كان العنصر الحالي أكبر من القيمة القصوى ، فقم بتحديث قيمة القيمة القصوى وأعد تعيين قيمة العد إلى 1.
    • إذا كان العنصر الحالي يساوي الحد الأقصىقيمة ، وزيادة قيمة العد بنسبة 1.
  4. بعد المرور عبر جميع عناصر المصفوفة ، ستحتوي قيمة العد على عدد العناصر التي تساوي الحد الأقصى.

قد يبدو برنامج بايثون الذي ينفذ هذه الخوارزمية كما يلي:

مواطنه العد_ماكس_عناصر (صفيف):

ماكسفالو = صفيف [0]

العد = 1

لأني في النطاق (1 ، لين (صفيف)):

إذا صفيف [أنا] > ماكسفالو:

ماكسفالو = صفيف [أنا]

العد = 1

إليف صفيف [أنا] = = ماكسفالو:

عدد + = 1

عد العودة

# مثال على استخدام

وظيفة الصفيف = [1, 2, 3, 4, 4, 5, 5]

النتيجة = العد_الماكس_العناصر (صفيف)

طباعة (النتيجة) # الخلاصة: 2

في هذا البرنامج ، نحدد وظيفة العد _ ماكس _ العناصر ، والتي تأخذ المصفوفة كوسيطة. داخل الوظيفة ، نقوم بتهيئة المتغيرات كحد أقصىالقيمة والعد ، ثم انتقل من خلال جميع عناصر المصفوفة ، وتحديث القيم وفقا للخوارزمية. ونتيجة لذلك ، تقوم الدالة بإرجاع عدد العناصر التي تساوي الحد الأقصى.

شفرة المصدر للبرنامج

يوجد أدناه الكود المصدري لبرنامج بايثون ، والذي يسمح لك بالعثور على عدد العناصر التي تساوي الحد الأقصى في المصفوفة.

مواطنه العد_ماكس_عناصر (صفيف):

ماكس _ قيمة = ماكس (صفيف)

العد = 0

لعنصر في مجموعة:

إذا كان العنصر = = القيمة القصوى:

عدد + = 1

عد العودة

# مثال على استخدام

وظيفة آر= [1, 2, 3, 4, 5, 5, 4, 5]

العد = العد _ ماكس _ العناصر(آر)

طباعة ("عدد العناصر يساوي الحد الأقصى:" ، العد)

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

بعد بدء البرنامج ، يعرض عدد العناصر التي تساوي الحد الأقصى في المصفوفة المحددة. في هذا المثال ، يحتوي صفيف آر على العناصر [1, 2, 3, 4, 5, 5, 4, 5], والقيمة القصوى هي 5. عدد العناصر يساوي الحد الأقصى هو 3 ، لذلك يعرض البرنامج الرسالة"عدد العناصر يساوي الحد الأقصى: 3".

مثال الاستخدام

فيما يلي مثال على استخدام البرنامج للعثور على عدد العناصر التي تساوي الحد الأقصى في المصفوفة:

إدخال البيانات:

آر = [1, 2, 3, 4, 5, 5]

خطوات التنفيذ:

  1. القيمة هي 0.
  2. القيمة هي 0.
  3. .
  4. .
  5. على 1.
  6. .

بيانات الإخراج:

عدد العناصر يساوي الحد الأقصى: 2

هناك عنصران يساويان القيمة القصوى 5. سيكون إخراج البرنامج 2.

الاستنتاجات

في هذا البرنامج ، قمنا بحل مشكلة إيجاد عدد العناصر التي تساوي الحد الأقصى في المصفوفة. للقيام بذلك ، استخدمنا الخوارزمية التالية:

  1. أنشأنا متغير ماكس_ليم وخصصنا له قيمة العنصر الأول من المصفوفة.
  2. أنشأنا متغير العد وتعيين القيمة 0.
  3. ذهبنا من خلال جميع عناصر المصفوفة:
    • إذا كان العنصر الحالي أكبر من ماكس إيليم ، ثم قمنا بتحديث قيمة ماكس إيليم وإعادة تعيين العد إلى 1.
    • إذا كان العنصر الحالي هو الحد الأقصى ، فقد تم زيادة العدد بمقدار 1.
  4. لقد عرضنا قيمة العد على الشاشة.

يتيح لك البرنامج تحديد عدد العناصر التي تساوي الحد الأقصى في مصفوفة معينة. انها بسيطة وفعالة في حل هذه المشكلة. التعقيد الزمني للخوارزمية هو ا (ن) ، أين ن هو عدد العناصر في المصفوفة.

سؤال وجواب

ما هي لغة البرمجة التي يجب استخدامها لحل هذه المشكلة?

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

ما هو تعقيد الخوارزمية لإيجاد عدد العناصر يساوي الحد الأقصى في المصفوفة?

تعقيد الخوارزمية لإيجاد الحد الأقصى لعدد العناصر في المصفوفة هو ا(ن) ، أين ن هو حجم المصفوفة. هذه هي الخوارزمية المثلى لهذه المهمة.