int main(){ int R, O, i, compara, k; char rna[101], oligo[26], aux; scanf("%d %d", &R, &O); scanf("%s", rna); scanf("%s", oligo); for(i = 0, k = O-1; i<O/2; i++, k--){ aux = oligo[k]; oligo[k] = oligo[i]; oligo[i] = aux; } for(i = 0; i < O; i++){ aux = Troca(oligo[i]); oligo[i] = aux; } compara = ComparaRNA(rna, R, oligo , O); if(compara == (-1)){ printf("Nao silenciado\n"); }else{ printf("Silenciado em %d\n", compara); } return 0; }
void Permuta(int n[], int num, int k) { int i, len; //i - contador, len - tamanho len = num; // len recebe o numero de elementos do vetor if(k == len) Mostra(n, num); //se 'k' for igual ao tamanho do vetor entao mostra os elementos else { for(i = k; i < len; i++) //de 'k' ate len troca Permura e Troca outra vez { Troca(n, num, k, i); Permuta(n, num, k+1); Troca(n, num, i, k); } } }