Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

검토 투표 상태 및 불확실성을 확인하는 C++ 코드

<시간/>

세 개의 숫자 x, y 및 z가 있다고 가정합니다. 리뷰 사이트에는 찬성 투표할 사람 x명, 반대 투표할 사람 y명, 투표할 또 다른 그룹 z명이 있었지만 그들이 찬성할 것인지 반대할 것인지는 알 수 없습니다. 각 사람은 최대 한 번만 투표할 수 있습니다. 반대보다 찬성 투표가 더 많으면 결과는 "+"가 됩니다. 반대 투표 수가 더 많으면 결과는 "-"가 됩니다. 그렇지 않으면 결과는 "0"이 됩니다. z명의 알려지지 않은 사람 때문에 결과가 불확실할 수 있습니다(즉, 가능한 결과가 둘 이상 있음). zpersons가 투표하는 방법에 대한 두 가지 다른 상황이 있는 경우에만 결과가 불확실합니다('?'로 표시됨). 결과를 찾거나 불확실한지 여부를 보고해야 합니다.

따라서 입력이 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

출력

?