TOPIC

100 WA - C

augusto_klein asked 3 years ago

Estou fazendo todos os testes e me dão como corretos, mas na hora da submissão recebo 100% ERRO. Alguém poderia me ajudar?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){

    char texto[1000];
    int i,j,ver,n,cont;

    scanf("%d", &n);

    for(j=0;j<n;j++){

        scanf("%s", texto);

        i = 0;
        ver = 0;
        while(texto[i] != '\0'){

            if(texto[i] == ')' && ver == 0){ //CASO FOR O PRIMEIRO CARACTER

                ver--;
                cont = strlen(texto);
                i = cont;

            }else if(texto[i] == '('){
                ver++;
            }else if(texto[i] == ')'){
                ver--;
            }

            i++;

        }

        if(ver == 0){
            printf("correct\n");
        }else{
            printf("incorrect\n");
        }

    }

}

Remember not post solutions. Your post may be reviewed by our moderators.

  • EduardoTheodoro replied 3 years ago

    Oi Augusto, tudo bem? Nesse exercício você deve ler até EOF (não existe o n). Ademais, a expressão possui até 1000 caracteres, de modo que o seu vetor de char deveria ter 1001 posições para armazenar o '\0' na última posição. Outro problema é que o seu cont deveria ser cont = strlen(texto) -1, visto que você realiza um i++ no final do loop (do modo que está você está indo uma posição a frente do '\0'). []s

    MOD
  • isantos88 replied 2 years ago

    AgustoAgustoAgustoAgustozAguAgustoAgustoAgustoAgustoAgustozAguAgustoAugusto boa tarde. O exercício pede que seja feito a conferência de ( & ). sendo necessário apenas se preocupar com a ordem das aspas. no entanto, não se preocupe com o total de entradas, mais sim com o fim do loop. Ex: (printf(s)!= null)

  • augusto_klein replied 3 years ago

    Olá Eduardo, obrigado por me responder. Fiz as alterações mas ainda me dá 100% warning. Ainda estou a procurar o que falta.