Advertisement
scbt

Untitled

Nov 24th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.54 KB | None | 0 0
  1. #include <stdio.h>
  2. int main() {
  3.   int c, k;
  4.   k = 0;
  5.   int count = 0;
  6.   int b = 0;
  7.   int fourzeros = '0' * 1000000 + '0' * 10000 + '0' * 100 + '0';
  8.   int ozzo = '1' * 1000000 + '0' * 10000 + '0' * 100 + '1';
  9.   int f = -1;  //определяет, BCD ли текущая четверка
  10.   while ( ((c = getchar() ) != EOF) ) {
  11.        if ((c != ' ') && (c != '\n')) {
  12.         b = b * 100 + c;                                                                                                        
  13.         k++;
  14.       }
  15.     if (k == 4) {                                                                                                            
  16.     //printf("that is four = %d\n", b);                                                                                      
  17.     if ((b >= fourzeros)  && (b <= ozzo))  {
  18.       //  printf("she is BCD\n");                                                                                                
  19.         f = 0;
  20.       }
  21.       else {
  22.         f = 1; // f == 1 если текущая четверка не bcd
  23.       }
  24.       k = 0;    
  25.       b = 0;      
  26.       }                                                                                                                    
  27.       if (c == ' ') {
  28.       if (k != 0) {                                                                                                            
  29.      // printf("ne tetrada\n");                                                                                                
  30.       k = 0;
  31.       b = 0;
  32.       f = -1;
  33.       }
  34.       else {  
  35.         if ((b == 0) && (f == 0)) {    
  36.           count++;
  37.          // printf("OMG! BCD DETECTED!\n");
  38.         }
  39.         else {  
  40.             b = 0;
  41.             f = -1;
  42.         //  printf("IT ISN'T BCD\n");
  43.        }                                                                                                                    
  44.        }
  45.   }
  46.   if (c == '\n') {
  47.       if (k != 0) {                                                                                                            
  48.      // printf("ne tetrada\n");                                                                                                
  49.       k = 0;
  50.       b = 0;
  51.       f = -1;
  52.       }
  53.       else {  
  54.         if ((b == 0) && (f == 0)) {    
  55.           count++;
  56.          // printf("OMG! BCD DETECTED!\n");
  57.         }
  58.         else {  
  59.             b = 0;
  60.             f = -1;
  61.         //  printf("IT ISN'T BCD\n");
  62.        }                                                                                                                    
  63.        }
  64.        break;
  65.   }
  66.   }
  67.   printf("number of BCD's is %d", count);
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement