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

Mã C ++ để tìm hiểu xem hình ảnh là B / W hay màu

Giả sử, chúng ta được cung cấp một hình ảnh có chứa n pixel. Các pixel có thể có màu sau -

  • 'C' (lục lam)

  • 'M' (đỏ tươi)

  • 'Y' (màu vàng)

  • 'W' (trắng)

  • 'G' (xám)

  • 'B' (đen)

Màu của pixel thứ i được cho trong chuỗi 'pixel'. Với chuỗi, chúng ta phải tìm xem bức ảnh đã cho có nhiều màu sắc hay đen trắng. Nếu đó là một bức ảnh màu, nó sẽ chứa ít nhất một pixel màu 'C', 'M' và 'Y' và chúng tôi sẽ in 'Màu'; nếu không, nó sẽ chỉ chứa màu pixelsof 'W', 'G', 'B' và chúng tôi sẽ in 'BW'.

Vì vậy, nếu đầu vào là n =10, pixel ="GBWYM", thì đầu ra sẽ là Màu.

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 -

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

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

Đầu vào

10, "GBWYM"

Đầu ra

Color