Advertisement
Qellex

lev sasi

Apr 1st, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <math.h>
  5.  
  6.  
  7. int dlina(char* str, int nach, char* net) {
  8.     int k = 0;
  9.     for (int i = 0; !(strrchr(net, str[nach + i])) && str[i] != '\0'; i++)
  10.         k++;
  11.     return k - 1;
  12. }
  13.  
  14. int check(char* str, int* i, int dlin) {
  15.     char proverka[] = { '2','3','4','5','6','7','8','9' };
  16.     int j = *i;
  17.     printf("\nя дал %s %d %d\n", str, j, dlin);
  18.     for (j; j < *i + dlin; j++) {
  19.         if (!(strrchr(proverka, str[j]))) {
  20.             *i += dlin;
  21.             printf("гоп стоп");
  22.             return 0;
  23.            
  24.         }
  25.     }
  26.     return 1;
  27. }
  28.  
  29. int num(char* str, int i) {
  30.     if (str[i] == '1')
  31.         return 1;
  32.     return 0;
  33. }
  34.  
  35. int res(char* str, int* i, int dlin) {
  36.     int k = 0;
  37.     int j = *i;
  38.     while (dlin >= 0) {
  39.         k += pow(2, dlin) * num(str, j);
  40.         printf("\n%d %d\n", num(str, j), k);
  41.         j++; dlin--;
  42.     }
  43.     *i = j + dlin;
  44.     return k;
  45. }
  46.  
  47. int main() {
  48.  
  49.     char str[81];
  50.     char razdel[] = { ' ', '.' , ',' , ' ', '!' , '?' , '\0'};
  51.     int dlin;
  52.  
  53.     SetConsoleCP(1251);
  54.     SetConsoleOutputCP(1251);
  55.  
  56.     printf("Введите предложение: ");
  57.     fgets(str, 81, stdin);
  58.  
  59.     for (int i = 0; str[i] != '\0'; i++) {
  60.         if (!(strrchr(razdel, str[i]))) {
  61.             dlin = dlina(str, i, razdel);
  62.             if (check(str, &i, dlin))
  63.                 printf("Ответ %d ", res(str, &i, dlin));
  64.         }
  65.     }
  66.     printf("\n");
  67.     system("pause");
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement