C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

レビュー投票のステータスと不確実性をチェックするためのC++コード


x、y、zの3つの数があるとします。レビューサイトには、賛成x人、反対y人、反対z人のグループがありましたが、賛成か反対かはわかりません。各人は最大で1回投票できます。反対票より賛成票の方が多い場合、結果は「+」になります。反対票の数が多い場合、結果は「-」になります。それ以外の場合、結果は「0」になります。 z人の未知の人物のため、結果は不確実である可能性があります(つまり、複数の可能な結果があります)。 zpersonsの投票方法に2つの異なる状況が存在する場合に限り、結果は不確実です(「?」として表されます)。結果を見つけるか、それが不確かかどうかを報告する必要があります。

したがって、入力がx=2のような場合。 y =0; z =2の場合、出力は「?」になります。 2つの賛成票があるため、他の2つの票が下がった場合は0になりますが、高い場合は「+」になるため、答えは不確かです。

ステップ

これを解決するには、次の手順に従います-

if x > y + z, then:
   return "+"
otherwise when x + z < y, then:
   return "-"
otherwise when not z is non-zero, then:
   return "0"
Otherwise
   return "?"

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
string solve(int x, int y, int z){
   if (x > y + z)
      return "+";
   else if (x + z < y)
      return "-";
   else if (!z)
      return "0";
   else
      return "?";
}
int main(){
   int x = 2;
   int y = 0;
   int z = 2;
   cout << solve(x, y, z) << endl;
}

入力

2, 0, 2

出力

?

  1. C ++で多数が2、3、5で割り切れるかどうかを確認します

    ここでは、数値が2、3、5で割り切れるかどうかを確認する方法を説明します。この場合、その数は非常に多い数です。したがって、数値を文字列として入力します。 数値が2、3、5のLCMで割り切れる場合、その数値は2、3、5で割り切れます。したがって、2、3、5のLCMは30です。数値が30で割り切れるかどうかを確認する必要があります。数値は、10で割り切れる(最後の桁が0)ときは30で割り切れる、3で割り切れる(すべての桁の合計は3で割り切れる) 例 #include <bits/stdc++.h> using namespace std; bool isDiv30(string nu

  2. C++で対角行列とスカラー行列をチェックするプログラム

    行列M[r][c]が与えられた場合、「r」は行数を示し、「c」はr=cが正方行列を形成するような列数を示します。与えられた正方行列が対角であるかどうかを確認する必要があります およびスカラー 対角の場合、行列かどうか およびスカラー マトリックスを作成し、結果にyesを出力します。 対角行列 正方行列m[][]は、主対角を除く要素がゼロの場合にのみ対角行列になります。 下の図のように- ここで、赤の要素は主対角線であり、主対角線がゼロであることを除いてゼロ以外の残りの要素であり、対角行列になっています。 。 例 Input: m[3][3] = { {7, 0, 0},