Rezolvare completă PbInfo #2765 CheckColor

Orice culoare poate fi reprezentată drept o combinație de intensități de roșu (RED), verde (GREEN) și albastru (BLUE). Calculatorul tău folosește, cel mai probabil, culori reprezentate pe 24 de biți, câte 8 rezervați fiecărei dintre cele trei culori anterior menționate.

Cerința

Dându-se trei numere, R, G și B, verificați dacă acestea pot reprezenta o culoare sau o nuanță de gri. O culoare se consideră nuanță de gri dacă și numai dacă diferența dintre oricare două coduri ce reprezintă culorile primare nu depășește 10.

Date de intrare

Programul citește de la tastatură trei numere întregi, R, G și B.

Date de ieșire

Programul va afișa pe ecran:

  • NU E CULOARE dacă R, G și B nu pot reprezenta o culoare;
  • CULOARE dacă R, G și B pot reprezenta o culoare, dar nu o nuanță de gri;
  • GRI dacă R, G și B pot reprezenta o nuanță de gri;

Restricții și precizări

  • -1000 ≤ R, G, B ≤ 1000;
  • 0 ≤ Rv, Gv, Bv ≤ 255 – unde v înseamnă valid.

Exemple

Exemplul 1:

Intrare

0 128 256

Ieșire

NU E CULOARE

Exemplul 2:

Intrare

118 128 255

Ieșire

CULOARE

Exemplul 3:

Intrare

118 119 120

Ieșire

GRI

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema CheckColor:

#include <iostream>

using namespace std;

int main()
{
    int r, g, b, minc, maxc;
    cin >> r >> g >> b;
    
    minc = r;
    if(minc > g) minc = g;
    if(minc > b) minc = b;
    
    maxc = r;
    if(maxc < g) maxc = g;
    if(maxc < b) maxc = b;
    
    if(minc >= 0 && maxc <= 255)
    {
        if(maxc - minc <= 10)
            cout << "GRI";
        else
            cout << "CULOARE";
    }
    else
        cout << "NU E CULOARE";
    
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2765 CheckColor

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2765 CheckColor de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!