SHARE
TWEET

Untitled

a guest Mar 26th, 2020 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char poprawne(char tab[100],int i)
  5. {
  6.     char x='a';
  7.     if(i>=100) return 'c';
  8.     if(tab[i]==')'||tab[i]==']'||tab[i]=='}')
  9.     {
  10.         if(tab[i]==')') return '(';
  11.         else if(tab[i]==']') return '[';
  12.         else return '{';
  13.     }
  14.     x=poprawne(tab,i+1);
  15.     if(x=='e') return 'e';
  16.     if(x=='c') return 'c';
  17.  
  18.     if(x=='(') {
  19.         for (int j = i; j >= 0; j--) {
  20.             if (tab[j] == x) {
  21.                 tab[j] = 0;
  22.                 tab[i+1] = 0;
  23.                 break;
  24.             }
  25.             else if (tab[j] == '[' || tab[j] == '{')
  26.                 return 'e';
  27.         }
  28.     }
  29.     else if(x=='{') {
  30.         for (int j = i; j >= 0; j--) {
  31.             if (tab[j] == x) {
  32.                 tab[j] = 0;
  33.                 tab[i+1] = 0;
  34.                 break;
  35.             }
  36.             else if (tab[j] == '[' || tab[j] == '(')
  37.                 return 'e';
  38.         }
  39.     }
  40.     else if(x=='[') {
  41.         for (int j = i; j >= 0; j--) {
  42.             if (tab[j] == x) {
  43.                 tab[j] = 0;
  44.                 tab[i+1] = 0;
  45.                 break;
  46.             }
  47.             else if (tab[j] == '(' || tab[j] == '{')
  48.                 return 'e';
  49.         }
  50.     }
  51.     if(i<100)x=poprawne(tab,i+1);
  52.     if(x=='c') return'c';
  53. }
  54.  
  55.  
  56. int main() {
  57.     char tab[100];
  58.     for(int i=0;i<100;i++)
  59.         tab[i]=0;
  60.     printf("Podaj ciag znakow:\n");
  61.     scanf("%s",&tab);
  62.     int licznik1=0;
  63.     int licznik2=0;
  64.     int licznik3=0;
  65.     for(int i=0;i<100;i++)
  66.     {
  67.         if(tab[i]=='(') licznik1++;
  68.         if(tab[i]==')') licznik1--;
  69.         if(tab[i]=='{') licznik2++;
  70.         if(tab[i]=='}') licznik2--;
  71.         if(tab[i]=='[') licznik3++;
  72.         if(tab[i]==']') licznik3--;
  73.     }
  74.     if(licznik1==0&&licznik2==0&&licznik3==0) {
  75.         if (poprawne(tab, 0) == 'c')
  76.             printf("Poprawna kolejnosc.");
  77.         else printf("Zla kolejnosc!");
  78.     }
  79.     else printf("Zla kolejnosc!");
  80.  
  81.     return 0;
  82. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top