Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- int main()
- {
- char *er, *ge, *be; //bekert szoveg darabjai, token segitsegevel szedjuk szet
- int r,g,b,rs,gs,bs; //rgb=bekert szam szammal, rs gs bs=legsotetebb szam
- char szoveg[12]; //bekert szoveg
- char *token; //token
- int hiba=0; //hibas szam bekeresenek jelzesere van
- int hossz; //getline hossza
- int sotet=750, sotetteszt; //250+250+250 - legvilagosabb szin
- int getline(char s[], int lim) {
- int i, c;
- for (i = 0; i<lim && (c = getchar()) != EOF && c != '\n'; ++i) s[i] = c;
- s[i] = '\0';
- while (c != EOF && c != '\n') c = getchar();
- return i;
- }
- do{
- printf("Adjon meg 3 szamot: (R G B sorrend)\n");
- hossz = getline(szoveg, 11);
- if (hossz > 0){
- hiba=0;
- token = strtok(szoveg, " ");
- er = strdup(token);
- r = atoi(er);
- token = strtok(NULL, " ");
- ge = strdup(token);
- g = atoi(ge);
- token = strtok(NULL, " ");
- be = strdup(token);
- b = atoi(be);
- sotetteszt=r+g+b;
- //hibas ertek kezeles
- if((r < 0) || (r > 250)){
- printf("Rossz R erteket adott meg\n");
- hiba = 1;
- }
- if((b < 0) || (b > 250)){
- printf("Rossz B erteket adott meg\n");
- hiba = 1;
- }
- if((g < 0) || (g > 250)){
- printf("Rossz G erteket adott meg\n");
- hiba = 1;
- }
- //hexa es arnyalat
- if(hiba==0){
- printf("#%02x%02x%02x\n",r,g,b); //hexa kiiras 2 szammal (%02x a jelolese -- %x a hexa kiiratas)
- if((r > (b+100)) || (r > (g+100))){
- printf("Piros arnyalat\n"); //arnyalat..
- }
- if((b > (r+100)) || (b > (g+100))){
- printf("Kek arnyalat\n"); //arnyalat..
- }
- if((g > (b+100)) || (g > (r+100))){
- printf("Zold arnyalat\n"); //arnyalat..
- }
- if(sotet>sotetteszt){ //legkisebb szin osszerteket keressuk - legsotetebb szin
- sotet=sotetteszt;
- rs=r;
- bs=b;
- gs=g;
- }
- }
- }
- }while (hossz != 0);
- printf("legsotetebb szin: %d %d %d volt", rs, bs, gs);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement