Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.41 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. int main()
  7. {
  8.     char *er, *ge, *be;   //bekert szoveg darabjai, token segitsegevel szedjuk szet
  9.     int r,g,b,rs,gs,bs;  //rgb=bekert szam szammal, rs gs bs=legsotetebb szam
  10.     char szoveg[12];  //bekert szoveg
  11.     char *token;    //token
  12.     int hiba=0;   //hibas szam bekeresenek jelzesere van
  13.     int hossz;   //getline hossza
  14.     int sotet=750, sotetteszt; //250+250+250 - legvilagosabb szin
  15.    
  16.     int getline(char s[], int lim) {
  17.     int i, c;
  18.     for (i = 0; i<lim && (c = getchar()) != EOF && c != '\n'; ++i) s[i] = c;
  19.     s[i] = '\0';
  20.     while (c != EOF && c != '\n') c = getchar();
  21.     return i;
  22.     }
  23.  
  24.     do{
  25.     printf("Adjon meg 3 szamot: (R G B sorrend)\n");
  26.     hossz = getline(szoveg, 11);
  27.     if (hossz > 0){
  28.         hiba=0;
  29.        
  30.         token = strtok(szoveg, " ");
  31.         er = strdup(token);
  32.         r = atoi(er);
  33.  
  34.         token = strtok(NULL, " ");
  35.         ge = strdup(token);
  36.         g = atoi(ge);
  37.  
  38.         token = strtok(NULL, " ");
  39.         be = strdup(token);
  40.         b = atoi(be);
  41.         sotetteszt=r+g+b;
  42.        
  43.        
  44.         //hibas ertek kezeles
  45.         if((r < 0) || (r > 250)){
  46.             printf("Rossz R erteket adott meg\n");
  47.             hiba = 1;
  48.         }
  49.    
  50.         if((b < 0) || (b > 250)){
  51.             printf("Rossz B erteket adott meg\n");
  52.             hiba = 1;
  53.         }
  54.    
  55.         if((g < 0) || (g > 250)){
  56.             printf("Rossz G erteket adott meg\n");
  57.             hiba = 1;
  58.         }
  59.        
  60.         //hexa es arnyalat
  61.         if(hiba==0){
  62.             printf("#%02x%02x%02x\n",r,g,b);   //hexa kiiras 2 szammal (%02x a jelolese  --  %x a hexa kiiratas)
  63.             if((r > (b+100)) || (r > (g+100))){
  64.                 printf("Piros arnyalat\n");    //arnyalat..
  65.             }
  66.             if((b > (r+100)) || (b > (g+100))){
  67.                 printf("Kek arnyalat\n");    //arnyalat..
  68.             }
  69.             if((g > (b+100)) || (g > (r+100))){
  70.                 printf("Zold arnyalat\n");    //arnyalat..
  71.             }
  72.             if(sotet>sotetteszt){    //legkisebb szin osszerteket keressuk - legsotetebb szin
  73.                 sotet=sotetteszt;
  74.                 rs=r;
  75.                 bs=b;
  76.                 gs=g;
  77.             }
  78.         }
  79.     }
  80.     }while (hossz != 0);
  81.     printf("legsotetebb szin: %d %d %d volt", rs, bs, gs);
  82.  
  83.     return 0;
  84.    
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement