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

โค้ด C++ ตรวจสอบภาพเป็นขาวดำหรือสี

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

  • C (ซีอัน)
  • M (แมจента)
  • Y (เหลือง)
  • W (ขาว)
  • G (เทา)
  • B (ดำ)

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

เช่น ถ้าค่าที่ป้อนเข้าเป็น n = 10, pixels = "GBWYM" ผลลัพธ์จะได้ Color

ขั้นตอนการแก้ปัญหา

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

สำหรับ i := 0 เมื่อ i < n เพิ่ม i ทีละ 1 ทำ:    ถ้า pixels[i] ไม่เท่ากับ 'B' และไม่เท่ากับ 'W' และไม่เท่ากับ 'G' แล้ว:       พิมพ์("Color")       คืนค่า พิมพ์("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