Enviado em 31/01/2020 - 10:34h
O que acontece no terceiro for dentro do main que ele imprime assim
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BFFSIZE 50
int str_tamanho(char *str){
//função q retorna o tamanho da string
int cont = 0;
for(;*str;str++) cont ++;
return cont;
}
int str_valida(char *str){
//função q avalia se a string é valida
for(;*str;str++)
if(!( *str=='A' || *str=='C' || *str=='G' || *str=='T' || *str=='a' || *str=='g' || *str=='c' || *str=='t')) return 0;
return 1;
}
int main(void){
char str_P[BFFSIZE];
int i,x,d,e;
printf("Informe uma fita de DNA:\n");
scanf("%s",&str_P);
d = str_tamanho(str_P);
if(!(str_valida(str_P)))
//se não forem validas
printf("Invalida - permitido somente A C G T...");
else if(d % 3==0){
//se td estiver ok...
//puts("Fita complementar: ");
for(i=0;str_P[i];i++){
//varre a string T inteira atras de uma letra igul
if(str_P[i] == 'A'){ printf("T");
}else if(str_P[i] == 'G'){ printf("C");
}else if(str_P[i] == 'C'){ printf("G");
}else if(str_P[i] == 'T'){ printf("A");
}else if(str_P[i] == 'g'){ printf("c");
}else if(str_P[i] == 'c'){ printf("g");
}else if(str_P[i] == 't'){ printf("a");
}else if(str_P[i] == 'a'){ printf("t");}
}
printf("\n");
for(e=0;str_P[e];e++){
//varre a string T inteira atras de uma letra igul part2
if(str_P[i] == 'A'){ printf("A");
}else if(str_P[e] == 'G'){ printf("G");
}else if(str_P[e] == 'C'){ printf("C");
}else if(str_P[e] == 'T'){ printf("U");
}else if(str_P[e] == 'g'){ printf("g");
}else if(str_P[e] == 'c'){ printf("c");
}else if(str_P[e] == 't'){ printf("u");
}else if(str_P[e] == 'a'){ printf("a");}
}
printf("\n");
for(x=0;str_P[x];x++){
//varre a string T inteira atras de uma letra igul part 3
if(str_P[x] == 'GGG'||'ggg'){ printf("\33[1;35mG\33[0m");
}if(str_P[x] == 'GGA'||'gga'){ printf("\33[1;35mG\33[0m");
}if(str_P[x] == 'GGC'||'ggc'){ printf("\33[1;35mG\33[0m");
}if(str_P[x] == 'GGT'||'ggt'){ printf("\33[1;35mG\33[0m");
}if(str_P[x] == 'GAG'||'gag'){ printf("\33[0;36mE\33[0m");
}if(str_P[x] == 'GAA'||'gaa'){ printf("\33[0;36mE\33[0m");
}if(str_P[x] == 'GAC'||'gac'){ printf("D");
}if(str_P[x] == 'GAT'||'gat'){ printf("D");
}if(str_P[x] == 'GCG'||'gcg'){ printf("\33[1;36mA\33[0m");
}if(str_P[x] == 'GCA'||'gca'){ printf("\33[1;36mA\33[0m");
}if(str_P[x] == 'GCC'||'gcc'){ printf("\33[1;36mA\33[0m");
}if(str_P[x] == 'GCT'||'gct'){ printf("\33[1;36mA\33[0m");
}if(str_P[x] == 'GTG'||'gtg'){ printf("\33[0;35mV\33[0m");
}if(str_P[x] == 'GTA'||'gta'){ printf("\33[0;35mV\33[0m");
}if(str_P[x] == 'GTC'||'gtc'){ printf("\33[0;35mV\33[0m");
}if(str_P[x] == 'GTT'||'gtt'){ printf("\33[0;35mV\33[0m");
}if(str_P[x] == 'AGG'||'agg'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'AGA'||'aga'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'AGC'||'agc'){ printf("\33[0;37mS\33[0m");
}if(str_P[x] == 'AGT'||'agt'){ printf("\33[0;37mS\33[0m");
}if(str_P[x] == 'AAG'||'aag'){ printf("\33[1;30mK\33[0m");
}if(str_P[x] == 'AAA'||'aaa'){ printf("\33[1;30mK\33[0m");
}if(str_P[x] == 'AAC'||'aac'){ printf("N");
}if(str_P[x] == 'AAT'||'aat'){ printf("N");
}if(str_P[x] == 'ACG'||'acg'){ printf("\33[0;34mT\33[0m");
}if(str_P[x] == 'ACA'||'aca'){ printf("\33[0;34mT\33[0m");
}if(str_P[x] == 'ACC'||'acc'){ printf("\33[0;34mT\33[0m");
}if(str_P[x] == 'ACT'||'act'){ printf("\33[0;34mT\33[0m");
}if(str_P[x] == 'ATG'||'atg'){ printf("\33[1;33mM\33[0m");
}if(str_P[x] == 'ATA'||'ata'){ printf("I");
}if(str_P[x] == 'ATC'||'atc'){ printf("I");
}if(str_P[x] == 'ATT'||'att'){ printf("I");
}if(str_P[x] == 'CGG'||'cgg'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'CGA'||'cga'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'CGC'||'cgc'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'CGT'||'cgt'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'CAG'||'cag'){ printf("Q");
}if(str_P[x] == 'CAA'||'caa'){ printf("Q");
}if(str_P[x] == 'CAC'||'cac'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'CAT'||'cat'){ printf("\33[0;32mR\33[0m");
}if(str_P[x] == 'CCG'||'ccg'){ printf("\33,[0;33mP\33[0m");
}if(str_P[x] == 'CCA'||'cca'){ printf("\33[0;33mP\33[0m");
}if(str_P[x] == 'CCC'||'ccc'){ printf("\33[0;33mP\33[0m");
}if(str_P[x] == 'CCT'||'cct'){ printf("\33[0;33mP\33[0m");
}if(str_P[x] == 'CTG'||'ctg'){ printf("\33[0;31mL\33[0m");
}if(str_P[x] == 'CTA'||'cta'){ printf("\33[0;31mL\33[0m");
}if(str_P[x] == 'CTC'||'ctc'){ printf("\33[0;31mL\33[0m");
}if(str_P[x] == 'CTT'||'ctt'){ printf("\33[0;31mL\33[0m");
}if(str_P[x] == 'TGG'||'tgg'){ printf("W");
}if(str_P[x] == 'TGA'||'tga'){ printf("*");
}if(str_P[x] == 'TGC'||'tgc'){ printf("\33[1;33mC\33[0m");
}if(str_P[x] == 'TGT'||'tgt'){ printf("\33[1;33mC\33[0m");
}if(str_P[x] == 'TAG'||'tag'){ printf("*");
}if(str_P[x] == 'TAA'||'taa'){ printf("*");
}if(str_P[x] == 'TAC'||'tac'){ printf("Y");
}if(str_P[x] == 'TAT'||'tat'){ printf("Y");
}if(str_P[x] == 'TCG'||'tcg'){ printf("\33[0;37mS\33[0m");
}if(str_P[x] == 'TCA'||'tca'){ printf("\33[0;37mS\33[0m");
}if(str_P[x] == 'TCC'||'tcc'){ printf("\33[0;37mS\33[0m");
}if(str_P[x] == 'TCT'||'tct'){ printf("\33[0;37mS\33[0m");
}if(str_P[x] == 'TTG'||'ttg'){ printf("\33[0;31mL\33[0m");
}if(str_P[x] == 'TTA'||'tta'){ printf("\33[0;31mL\33[0m");
}if(str_P[x] == 'TTC'||'ttc'){ printf("F");
}if(str_P[x] == 'TTT'||'ttt'){ printf("F");}
}printf("\n");
//a primeira letra da string P
/*
//se achar alguma igual, verifica os proximos caracteres
e_igual = 1;
//var q valera 1 se for encontrada a substring
for(x=0;str_P[x]&&e_igual;x++)
if(str_T[i+x]!=str_P[x])
e_igual = 0;
//caso não seja a substring
if(e_igual)printf("\nOcorrencia na posicao %i",i+1);//imprime
- */
}else
{
printf("\n");
printf("Invalido - somente multiplos de 3\n");
}
printf("\n");