Bonjour,
Je reviens pour une question assez stupide mais... Étant donné que je suis débutante, je galère un peu !
Alors, je vais vous expliquer ce que je souhaiterais faire.
J'ai une suite de lettres, une lettre est "codée" par deux bits. Donc je me retrouve avec 4 lettres dans chaque octet.
Donc j'ai mon octet 0 (ATCG), mon octet 1 (CTTA) et mon octet 2 (AATT)
ATCG CTTA AATT
Je souhaite obtenir ma suite de lettre mais inversée.
TTAA ATTC GCTA
Premier souci :
Vu que je suis une quiche, pour le moment, j'ai juste réussi à inverser mes octets et obtenir ça :
AATT CTTA ATCG
Mais ça ne marche que pour des multiples de 4.
Par exemple avec ça :
ATCGCTTAAAT
J'obtiens ça :
AATACTTAATC
Mon G disparait et me laisse place à un A.
Voici ma boucle for :
longueur : est la taille de ma séquence de A,T,C,G
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 size_t longueur_tab = (longueur/4 + (longueur%4 !=0)), temp = 0; for (size_t i = 0 ; i < (longueur_tab/2) ; i++){ temp = tab[i]; tab[i] = tab[longueur_tab - i -1]; tab[longueur_tab - i - 1] = temp; }
Donc je suppose qu'en fait, ça va me prendre mes lettres par groupe de 4 comme ça :
ATC GCTT AAAT et pas comme ça ATCG CTTA AAT
Que puis-je faire du coup...?
Deuxième souci :
Comment obtenir : TAA ATTC GCTA
Si je ne dis pas de sottise, je crois que je dois manipuler les bits en utilisant <<
Mais je ne vois pas trop comment faire ça, du moins, la logique utilisée.
Mais ça, on n'y est pas encore
Si jamais vous avez des liens vers ce genre de choses qui semblent assez rudimentaires, je prends.
Et merci d'avance pour votre aide !
Partager