Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.52 KB | None | 0 0
  1. #include "t2.h"
  2.  
  3. int valueOfLetter(int Letter)
  4. {
  5.     if (Letter == 'T')
  6.         return -1;
  7.     if (Letter == 'A')
  8.         return 0;
  9.     if (Letter == 'C')
  10.         return 1;
  11.     if (Letter == 'G')
  12.         return 2;
  13. }
  14.  
  15. int PooW(int x, int n)
  16. {
  17.  
  18.     int i, number;
  19.     number = 1;
  20.     for (i = 0; i < n; ++i)
  21.         number = number*x;
  22.  
  23.     return(number);
  24.  
  25. }
  26.  
  27. char letterofValue(int Value)
  28. {
  29.     if (Value == 3 || Value == -1)
  30.         return 'T';
  31.     if (Value == 4 || Value ==0  || Value == -4)
  32.         return 'A';
  33.     if (Value == 1 || Value == -3)
  34.         return 'C';
  35.     if (Value == 2 || Value==-2 )
  36.         return 'G';
  37.    
  38. }
  39. void codificareADN(long long nrIntreg, char sirADN[MAX_ADN]) {
  40.     int Values[35];
  41.     for (int it = 0; it < 35; it++)
  42.         Values[it] = 0;
  43.     for (int it = 0; it < 35; it++)
  44.         sirADN[it] = NULL;
  45.     int corection = 0;
  46.     int reminder = 0;
  47.     int iterator1 = -1;
  48.     int interator2 = 0;
  49.     if (nrIntreg == 0)
  50.         sirADN[0] = 'A';
  51.     else
  52.     {
  53.  
  54.  
  55.         while (nrIntreg != 0)
  56.         {
  57.             reminder = nrIntreg % 4 + corection;
  58.             iterator1 = iterator1 + 1;
  59.             Values[iterator1] = reminder;
  60.             if (reminder < -1)
  61.                 corection = -1;
  62.             if (reminder == 3)
  63.                 corection = 1;
  64.             nrIntreg = nrIntreg / 4;
  65.         }
  66.  
  67.         if (corection != 0)
  68.         {
  69.             iterator1 = iterator1 + 1;
  70.             Values[iterator1] = corection;
  71.         }
  72.  
  73.         for (interator2 = iterator1; interator2 >= 0; interator2--) {
  74.             sirADN[iterator1 - interator2] = letterofValue(Values[interator2]);
  75.         }
  76.         iterator1++;
  77.         }
  78. }
  79.  
  80. long long decodificareADN(char sirADN[MAX_ADN]) {
  81.     int power;
  82.     char letter;
  83.     int iterator = 0;
  84.     int lengthOfAdn = strlen(sirADN);
  85.     long numarIntreg = 0;
  86.     for (iterator = lengthOfAdn - 1; iterator >= 0; iterator--)
  87.     {
  88.         letter = sirADN[iterator];
  89.         power = lengthOfAdn - iterator - 1;
  90.         numarIntreg =numarIntreg+PooW(4, power) * valueOfLetter(letter);
  91.     }
  92.     return numarIntreg;
  93. }
  94. void adunareADN(char primulSir[MAX_ADN], char alDoileaSir[MAX_ADN], char suma[MAX_ADN])
  95. {
  96.     long long numarIntreg1 = decodificareADN(primulSir);
  97.     long long numarIntreg2 = decodificareADN(alDoileaSir);
  98.     long long sumNumbers = numarIntreg1 + numarIntreg2;
  99.     codificareADN(sumNumbers, suma);
  100.    
  101. }
  102. void scadereADN(char primulSir[MAX_ADN], char alDoileaSir[MAX_ADN], char diferenta[MAX_ADN])
  103. {
  104.     long long numarIntreg1 = decodificareADN(primulSir);
  105.     long long numarIntreg2 = decodificareADN(alDoileaSir);
  106.     long long difNumbers = numarIntreg1 - numarIntreg2;
  107.     codificareADN(difNumbers, diferenta);
  108. }
  109.  
  110.  
  111. rezultat mutariJoc(cartonas vecCartonase[MAX_CARTONASE], unsigned int nCartonase, char literaStart, char sirFinal[MAX_SIR])
  112. {
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement