Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để kiểm tra trạng thái bỏ phiếu xem xét và sự không chắc chắn

Giả sử chúng ta có ba số x, y và z. Trên một trang web đánh giá có x người sẽ ủng hộ, y người sẽ phản đối và một nhóm z người khác sẽ bỏ phiếu, nhưng chúng tôi không biết liệu họ sẽ ủng hộ hay không. Mỗi người có thể bình chọn nhiều nhất một lần, nếu có nhiều người ủng hộ hơn số người ủng hộ, kết quả sẽ là "+"; nếu downvote count isgreater, kết quả sẽ là "-"; nếu không kết quả sẽ là "0". Vì z ẩn số, kết quả có thể không chắc chắn (nghĩa là có thể có nhiều hơn một kết quả). Các zpersons không chắc chắn (được biểu thị là '?') Nếu và chỉ khi tồn tại hai tình huống khác nhau về cách các zpersons bỏ phiếu. Chúng tôi phải tìm kết quả hoặc báo cáo xem nó có không chắc chắn hay không.

Vì vậy, nếu đầu vào là x =2; y =0; z =2, thì đầu ra sẽ là '?' bởi vì 2 phiếu ủng hộ ở đó, nếu hai phiếu khác giảm thì nó sẽ là 0, nhưng nếu chúng cao thì nó sẽ là '+' nên câu trả lời là chắc chắn.

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

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 "?"

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#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;
}

Đầu vào

2, 0, 2

Đầu ra

?