Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int proverka(char *a, int length)
- {
- static int i=0, counter_1=0, counter_2=0;
- if(*(a+i)==40) {counter_1++; i++; return proverka(a, length);} //40-аскикод '('
- if(*(a+i)==41) {counter_1--; i++; return proverka(a, length);} //41-аскикод ')'
- if(*(a+i)==91) {counter_2++; i++; return proverka(a, length);} //91-аскикод '['
- if(*(a+i)==93) {counter_2--; i++; return proverka(a, length);} //93-аскикод ']'
- if(((*(a+i)!=40 && *(a+i)!=41)||(*(a+i)!=91 && *(a+i)!=93)) && *(a+i)!='\0')
- {i++; return proverka(a, length);}
- if(counter_1==0 && counter_2==0 && *(a+i)=='\0') {i=0; printf("\n\n\tСкобки в введенном выражении расставлены верно!", *a); return 0;}
- else if((counter_1!=0 || counter_2!=0) && *(a+i)=='\0')
- {i=0; counter_1=0; counter_2=0; printf("\n\n\tСкобки в введенном выражении расставлены не верно!", *a); return 0;}
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- char *string_1;
- int length=0;
- if(!(string_1=(char*)malloc(256))){
- printf("Недостаточно памяти!");
- return 0;
- }
- printf("Введите строку : "); gets(string_1);
- for(length; *(string_1+length)!='\0'; length++);
- printf("\nДлинна строки : %d", length);
- proverka(string_1, length);
- getchar(); getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement