Advertisement
semenrbt

Kristina_4.4.1

Feb 4th, 2020
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.07 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(void) {  
  4.   char Str[] = "((aa(aa)aa)a)";
  5.   int k = 0, counter = 0;
  6.   while(Str[k] != 13) // 13 - символ конца строки, тоесть пока не дойдем до конца строки выполняется цикл
  7.   {
  8.     if(Str[k] == 40) // 40 - символ '(', 41 - ')'
  9.     {                 // Если встречена ')', а перед ней нет '(', то выведет ошибку
  10.       counter++; // В counter считаем +1, если встречена '(' и -1 , если ')'
  11.       k++;// Переход на следующий символ строки
  12.     }
  13.     else
  14.     {
  15.       if(Str[k] == 41)
  16.       {
  17.         if(counter > 0)
  18.         {
  19.           counter--;
  20.           k++;
  21.         }
  22.         else
  23.         {
  24.           printf("Dizbalance.\n"); // встречена ')', а перед ней нет '(', значит дизбаланс
  25.           return 0;
  26.         }
  27.       }
  28.       else k++;
  29.     }
  30.   }
  31.   if(counter == 0) printf("Balance\n");
  32.   else printf("Dizbalance");
  33.   return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement