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

รหัส C++ เพื่อดูว่ารูปภาพเป็นขาวดำหรือสี


สมมติว่าเราได้รับรูปภาพที่มี n พิกเซล พิกเซลสามารถเป็นสีดังต่อไปนี้ −

  • 'C' (ฟ้า)

  • 'M' (สีม่วงแดง)

  • 'Y' (สีเหลือง)

  • 'W' (สีขาว)

  • 'G' (สีเทา)

  • 'B' (สีดำ)

สีของพิกเซลที่ i ถูกกำหนดในสตริง 'พิกเซล' เมื่อพิจารณาจากเชือกแล้ว เราต้องค้นหาว่าภาพถ่ายที่ให้มานั้นมีสีสันหรือขาวดำ หากเป็นภาพถ่ายสี จะมีอย่างน้อยหนึ่งพิกเซลของสี 'C', 'M' และ 'Y' และเราจะพิมพ์ 'สี' มิฉะนั้น จะมีพิกเซลของสี 'W', 'G', 'B' เท่านั้น และเราจะพิมพ์ 'BW'

ดังนั้น หากอินพุตเป็น n =10 พิกเซล ="GBWYM" เอาต์พุตจะเป็นสี

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

for initialize i := 0, when i < n, update (increase i by 1), do:
   if pixels[i] is not equal to 'B' and pixels[i] is not equal to 'W' and pixels[i] is not equal to 'G', then:
   print("Color")
   return
print("BW")

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int n, string pixels ) {
   for (int i = 0 ; i < n; i++) {
      if(pixels[i]!='B' && pixels[i]!='W' && pixels[i]!='G') {
         cout<<"Color";
         return;
      }
   }
   cout<<"BW";
}
int main() {
   int n = 10;
   string pixels = "GBWYM";
   solve(n, pixels);
   return 0;
}

อินพุต

10, "GBWYM"

ผลลัพธ์

Color