Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "t2.h"
- int valueOfLetter(int Letter)
- {
- if (Letter == 'T')
- return -1;
- if (Letter == 'A')
- return 0;
- if (Letter == 'C')
- return 1;
- if (Letter == 'G')
- return 2;
- }
- int PooW(int x, int n)
- {
- int i, number;
- number = 1;
- for (i = 0; i < n; ++i)
- number = number*x;
- return(number);
- }
- char letterofValue(int Value)
- {
- if (Value == 3 || Value == -1)
- return 'T';
- if (Value == 4 || Value ==0 || Value == -4)
- return 'A';
- if (Value == 1 || Value == -3)
- return 'C';
- if (Value == 2 || Value==-2 )
- return 'G';
- }
- void codificareADN(long long nrIntreg, char sirADN[MAX_ADN]) {
- int Values[35];
- for (int it = 0; it < 35; it++)
- Values[it] = 0;
- for (int it = 0; it < 35; it++)
- sirADN[it] = NULL;
- int corection = 0;
- int reminder = 0;
- int iterator1 = -1;
- int interator2 = 0;
- if (nrIntreg == 0)
- sirADN[0] = 'A';
- else
- {
- while (nrIntreg != 0)
- {
- reminder = nrIntreg % 4 + corection;
- iterator1 = iterator1 + 1;
- Values[iterator1] = reminder;
- if (reminder < -1)
- corection = -1;
- if (reminder == 3)
- corection = 1;
- nrIntreg = nrIntreg / 4;
- }
- if (corection != 0)
- {
- iterator1 = iterator1 + 1;
- Values[iterator1] = corection;
- }
- for (interator2 = iterator1; interator2 >= 0; interator2--) {
- sirADN[iterator1 - interator2] = letterofValue(Values[interator2]);
- }
- iterator1++;
- }
- }
- long long decodificareADN(char sirADN[MAX_ADN]) {
- int power;
- char letter;
- int iterator = 0;
- int lengthOfAdn = strlen(sirADN);
- long numarIntreg = 0;
- for (iterator = lengthOfAdn - 1; iterator >= 0; iterator--)
- {
- letter = sirADN[iterator];
- power = lengthOfAdn - iterator - 1;
- numarIntreg =numarIntreg+PooW(4, power) * valueOfLetter(letter);
- }
- return numarIntreg;
- }
- void adunareADN(char primulSir[MAX_ADN], char alDoileaSir[MAX_ADN], char suma[MAX_ADN])
- {
- long long numarIntreg1 = decodificareADN(primulSir);
- long long numarIntreg2 = decodificareADN(alDoileaSir);
- long long sumNumbers = numarIntreg1 + numarIntreg2;
- codificareADN(sumNumbers, suma);
- }
- void scadereADN(char primulSir[MAX_ADN], char alDoileaSir[MAX_ADN], char diferenta[MAX_ADN])
- {
- long long numarIntreg1 = decodificareADN(primulSir);
- long long numarIntreg2 = decodificareADN(alDoileaSir);
- long long difNumbers = numarIntreg1 - numarIntreg2;
- codificareADN(difNumbers, diferenta);
- }
- rezultat mutariJoc(cartonas vecCartonase[MAX_CARTONASE], unsigned int nCartonase, char literaStart, char sirFinal[MAX_SIR])
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement