最初の生徒よりもスコアが高い生徒の数を確認するC++プログラム
5つの科目でn人の生徒が得点したとします。最初のスコアはカマルのもので、他の学生にはさらにn-1のスコアがあり、各学生には5つの科目があります。カマル以上の得点を挙げた生徒の数を数える必要があります。ここでは、各学生のスコアをロードするために、学生と呼ばれる1つのクラスを定義します。このクラスには、入力を受け取る1つのInput()関数と、与えられた5つのマークから生徒のスコアを計算するcalculateTotalScore()関数があります。
したがって、入力がn =4のような場合スコア=[[25,45,32,42,30]、[22,25,41,18,21]、[37,42,48,45,25]、[ 36,48,35,40,30]]の場合、最後の2人の生徒のスコアがカマルよりも高いため、出力は2になります。
これを解決するには、次の手順に従います-
-
s:=n個の要素を持つStudent型オブジェクトの配列
-
初期化i:=0の場合、i
-
スコア[i]のすべてのスコアをs[i]
にロードします
-
-
kamal_sc:=s [0]
の合計スコア -
カウント:=0
-
初期化i:=1の場合、i
-
合計:=s [i]
の合計スコア -
合計>kamal_scの場合、次のようになります:
-
(カウントを1つ増やします)
-
-
-
返品数
例
理解を深めるために、次の実装を見てみましょう-
#include <iostream> #include <vector> using namespace std; class Student{ public: int score[5]; void input(vector<int> v){ for(int i = 0; i < 5; i++) score[i] = v[i]; } int calculateTotalScore(){ int res = 0; for(int i = 0; i < 5; i++) res += score[i]; return res; } }; int main(){ int n = 4; vector<vector<int>> scores = {{25,45,32,42,30},{22,25,41,18,21},{37,42,48,45,25},{36,48,35,40,30}}; Student *s = new Student[n]; for(int i = 0; i < n; i++){ s[i].input(scores[i]); } int kamal_sc = s[0].calculateTotalScore(); int count = 0; for(int i = 1; i < n; i++){ int total = s[i].calculateTotalScore(); if(total > kamal_sc){ count++; } } cout << count; }
入力
4, {{25,45,32,42,30}, {22,25,41,18,21}, {37,42,48,45,25}, {36,48,35,40,30}}
出力
2
-
C++で3つのポイントが同一線上にあるかどうかをチェックするプログラム
3つの異なる値のポイントが与えられ、タスクはポイントが同一線上にあるかどうかを確認することです。 ポイントが同じ線上にある場合は同一線上にあると言われ、異なる線上にある場合は同一線上にありません。以下に、同一線上および非同一線上の点の図を示します。 入力 x1 = 1, x2 = 2, x3 = 3, y1 = 1, y2 = 4, y3 = 5 出力 no points are not collinear 入力 x1 = 1, y1 = 1, x2 = 1, y2 = 4, x3 = 1, y3 = 5 出力 points are collinear 以下のプログラム
-
C++でべき等行列をチェックするプログラム
行列M[r][c]が与えられた場合、「r」は行数を示し、「c」はr=cが正方行列を形成するような列数を示します。与えられた正方行列がべき等行列であるかどうかを確認する必要があります かどうか。 べき等行列 行列「M」はべき等行列と呼ばれます 行列「M」にそれ自体を掛けたものだけが同じ行列「M」を返す場合、つまり M * M=M。 以下の例のように- 上記の行列はそれ自体で乗算され、同じ行列を返すと言えます。したがって、マトリックスはIデポテンツマトリックスです。 。 例 Input: m[3][3] = { {2, -2, -4}, {-1, 3,