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

รหัส C++ เพื่อตรวจสอบสถานะการโหวตและความไม่แน่นอน


สมมติว่าเรามีตัวเลขสามตัว x, y และ z ในเว็บไซต์รีวิวมี x คนที่โหวตให้ y คนที่จะโหวตไม่ลง และอีกกลุ่มของ z ที่จะโหวต แต่เราไม่รู้ว่าพวกเขาจะโหวตขึ้นหรือลงหรือไม่ แต่ละคนสามารถโหวตได้มากที่สุดครั้งเดียว ถ้ามีคนโหวตมากกว่าโหวตลง ผลลัพธ์จะเป็น "+"; หากจำนวน downvote มากกว่า ผลลัพธ์จะเป็น "-"; มิฉะนั้นผลลัพธ์จะเป็น "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

ผลลัพธ์

?