Pesquisar na Comunidade
Mostrando resultados para as tags ''nao roda o programa''.
Encontrado 1 registro
-
Estrutura de Dados (como corrigir o erro desse programa em linguagem C)
paulopoxoreo1234@gmail.com postou um tópico no fórum C/C++
Diamantes e Areia: João está trabalhando em uma mina, tentando retirar o máximo que consegue de diamantes "<>". Ele deve excluir todas as particulas de areia "." do processo e a cada retirada de diamante, novos diamantes poderão se formar. Se ele tem como uma entrada .<...<<..>>....>....>>>., três diamantes são formados. O primeiro é retirado de <..>, resultando .<...<>....>....>>>. Em seguida o segundo diamante é retirado, restando .<.......>....>>>. O terceiro diamante é então retirado, restando no final .....>>>., sem possibilidade de extração de novo diamante. Entrada Deve ser lido um valor inteiro N que representa a quantidade de casos de teste. Cada linha a seguir é um caso de teste que contém até 1000 caracteres, incluindo "<,>, ." Saída Você deve imprimir a quantidade de diamantes possíveis de serem extraídos em cada caso de entrada. OBS – Deve ser utilizado pilha. Eu fiz o codigo mas não esta dando certo. Quando eu coloco >< ele também conta como um diamante Se alguém puder me ajudar. #include <cstdio> #include <cstring> int main () { int q, w, guaxima, greater, liryus; char lista[1001]; scanf("%d", &q); while (q--) { scanf("%s", lista); guaxima = greater = liryus = 0; for (w=0; w<strlen(lista); w++) { if (lista[w] == '<') { guaxima++; } else if (lista[w] == '>') { if (guaxima > 0) { liryus++; guaxima--; } } } printf("%d\n", liryus); } return 32768; } #include <cstdio> #include <cstring> int main () { int q, w, guaxima, greater, liryus; char lista[1001]; scanf("%d", &q); while (q--) { scanf("%s", lista); guaxima = greater = liryus = 0; for (w=0; w<strlen(lista); w++) { if (lista[w] == '<') { guaxima++; } else if (lista[w] == '>') { if (guaxima > 0) { liryus++; guaxima--; } } } printf("%d\n", liryus); } return 32768; }