Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main(void)
- {
- char zavs[100];
- int i = 0;
- char bul =0;
- int a = 0;
- int od=-1,to=-1;
- int max=-1;
- int odwh=-1,towh=-1;
- printf("Zadej rad zavorek: \n");
- while(1){
- scanf("%c",&zavs[i]);
- if(zavs[i]==')'){
- if(bul!=0){
- a--;
- }
- }else if(zavs[i]=='('){
- a++;
- if(bul==0){
- odwh=i;
- }
- bul=1;
- }else if(zavs[i]=='\n'){
- break;
- }else{
- printf("Nepravidelny vstup");
- return 0;
- }
- if(a<0){
- a=0;
- bul=0;
- odwh=-1;
- }
- if(a==0){
- if((odwh!=-1)&&(i-odwh>=max)){
- to=i;
- od=odwh;
- max=i-odwh;
- }
- }
- i++;
- }
- odwh=-1;
- bul=0;
- a=0;
- int j = i;
- while(1){
- if(i==0){
- break;
- }
- if(zavs[i]=='('){
- if(bul!=0){
- a--;
- }
- }else if(zavs[i]==')'){
- a++;
- if(bul==0){
- odwh=i;
- }
- bul=1;
- }
- if(a<0){
- a=0;
- bul=0;
- odwh=-1;
- }
- if(a==0){
- if((odwh!=-1)&&(odwh-i>=max)){
- to=odwh;
- od=i;
- max=odwh-i;
- }
- }
- i--;
- }
- if(1){
- printf("Reseni: \n");
- for(int z =0;z<j;z++){
- if (z<od){
- printf("*");
- }else if (z>to){
- printf("*");
- }else{
- printf("%c",zavs[z]);
- }
- }
- printf("(%d) \n",max+1);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement