Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ ตรวจสอบจำนวนนักเรียนที่ได้คะแนนสูงกว่าคนแรก


สมมติว่าเรามีนักเรียน n คะแนนในห้าวิชา คะแนนแรกเป็นของ Kamal และมีคะแนนมากกว่า n-1 สำหรับนักเรียนคนอื่น และนักเรียนแต่ละคนมีห้าวิชา เราจะต้องนับจำนวนนักเรียนที่ทำคะแนนได้มากกว่า กมล ที่นี่เราจะกำหนดหนึ่งชั้นเรียนที่เรียกว่านักเรียนเพื่อโหลดคะแนนสำหรับนักเรียนแต่ละคน ชั้นเรียนมีฟังก์ชัน Input() หนึ่งฟังก์ชันเพื่อรับอินพุต และฟังก์ชันคำนวณTotalScore() เพื่อคำนวณคะแนนของนักเรียนจากคะแนน 5 คะแนน

ดังนั้น ถ้าอินพุตเป็น n =4 คะแนน =[[25,45,32,42,30],[22,25,41,18,21],[37,42,48,45,25],[ 36,48,35,40,30]] จากนั้นผลลัพธ์จะเป็น 2 เนื่องจากนักเรียนสองคนสุดท้ายมีคะแนนมากกว่ากมล

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • s :=อาร์เรย์ของวัตถุประเภทนักเรียนที่มีองค์ประกอบ n

  • สำหรับการเริ่มต้น i :=0 เมื่อฉัน

    • โหลดคะแนนทั้งหมด[i] ลงใน s[i]

  • kamal_sc :=คะแนนรวมของ s[0]

  • นับ :=0

  • สำหรับการเริ่มต้น i :=1 เมื่อฉัน

    • Total :=คะแนนรวมของ s[i]

    • ถ้าทั้งหมด> kamal_sc แล้ว:

      • (เพิ่มจำนวนขึ้น 1)

  • จำนวนคืน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include #include ใช้เนมสเปซ std;class Student{ สาธารณะ:คะแนน int[5]; อินพุตเป็นโมฆะ (เวกเตอร์ v){ สำหรับ (int i =0; i <5; i++) คะแนน[i] =v[i]; } int คำนวณคะแนนรวม (){ int res =0; สำหรับ(int i =0; i <5; i++) res +=score[i]; ผลตอบแทน res; }};int main(){ int n =4; เวกเตอร์<เวกเตอร์> คะแนน ={{25,45,32,42,30},{22,25,41,18,21},{37,42,48,45,25},{36,48 ,35,40,30}}; นักเรียน *s =นักเรียนใหม่[n]; สำหรับ(int i =0; i  kamal_sc){ นับ++; } } cout <<นับ;}

อินพุต

<ก่อน>4, {{25,45,32,42,30}, {22,25,41,18,21}, {37,42,48,45,25}, {36,48,35,40 ,30}}

ผลลัพธ์

2