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

รหัส C++ เพื่อค้นหาคะแนนสูงสุดที่เรากำหนดให้กับนักเรียนคนแรกได้


สมมติว่าเรามีอาร์เรย์ A ที่มีองค์ประกอบ n และตัวเลข m มี n นักเรียนให้ anexam. คะแนนสูงสุดที่เป็นไปได้คือ ม. A[i] คือคะแนนของนักเรียน เราสามารถจัดการคะแนนนักเรียนแต่ละคนได้ แต่ต้องเป็นไปตามเงื่อนไข คะแนนจะไม่เกิน m คะแนนทั้งหมดเป็นจำนวนเต็มและคะแนนเฉลี่ยของนักเรียนทุกคนจะไม่เปลี่ยนแปลง หากเราต้องการเพิ่มคะแนนของบุคคลที่หนึ่งให้ได้มากที่สุด เราจะให้คะแนนสูงสุดเท่าที่เป็นไปได้

ดังนั้น ถ้าอินพุตเป็น A =[1, 2, 3, 4]; m =10 แล้วผลลัพธ์จะเป็น 10 เพราะค่าเฉลี่ยคือ 2.5 เราสามารถกำหนดคะแนน [10, 0, 0, 0] โดยที่ค่าเฉลี่ยเท่ากัน แต่คะแนนอันดับแรกคือสูงสุด

ขั้นตอน

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

sum :=0n :=ขนาดของ Afor เริ่มต้น j :=0 เมื่อ j  

ตัวอย่าง

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

#include ใช้เนมสเปซ std;int แก้ปัญหา (เวกเตอร์ A, int m){ ผลรวม int =0; int n =A.size(); สำหรับ (int j =0; j  A ={ 1, 2, 3, 4 }; int m =10; cout <<แก้ (A, m) < 

อินพุต

{ 1, 2, 3, 4 }, 10

ผลลัพธ์

10