Jump to content

arthurdr

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About arthurdr

  1. arthurdr

    Ajuda com programa

    Estou fazendo um programa, mas estou trancado em uma parte. O ojetivo desta parte do programa é ver se as letras em que o usuário digita, são iguais as permitidas. Procurei algumas maneiras de fazer isso, mas só achei essa. O problema deste programa é que quando ele vai analisar a cadeia t, ele sempre mostra que a cadeia é invalida, mesmo estando dentro do exigido, abrindo melhor a cadeia t, descobri que o programa sempre diz que a 18º letra é invalida, mas não consegui descobrir o motivo, mesmo ponto letras validas, a 18º ele mostra que é errada. A parte do programa é essa: #include <stdio.h> #include <stdlib.h> #include <string.h> main() { int M, N, i, j, a, b; char p[M], t[N]; int letrasT, letraT, letrasP, letraP; M=5; N=25; do { do { i=0; letraP=0; letrasP=0; printf ("\n Digite a cadeia p: "); scanf ("%s", p); if (M!=strlen(p)) printf ("\n\n !!!TAMANHO DE p INVALIDO!!!\n"); for (i=0; i<M; i++) if ((p!='A') && (p!='C') && (p!='G') && (p!='T')) letrasP=1; else letrasP=0; for (i=0; i<M; i++) if (letrasP==1) letraP=1; if (letraP==1) printf ("\n\n !!!CADEIA DE p INVALIDA!!!\n"); }while (letraP==1); }while (M<strlen(p)); do { do { i=0; letraT=0; letrasT=0; printf ("\n Digite a cadeia t: "); scanf ("%s", t); if (N!=strlen(t)) printf ("\n\n !!!TAMANHO DE t INVALIDO!!!\n"); for (i=0; i<N; i++) if ((t!='A') && (t!='C') && (t!='G') && (t!='T')) letrasT=1; else letrasT=0; for (i=0; i<N; i++) if (letrasT==1) printf ("*%i", letrasT); letraT=1; if (letraT==1) printf ("\n\n !!!CADEIA DE t INVALIDA!!!\n"); }while (letraT==1); }while (N<strlen(t)); printf ("\n%s", p); printf ("\n%s", t); }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.