Advertisement
Guest User

Untitled

a guest
May 1st, 2016
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. #define SIZE 4
  2. #define MAX 4
  3.  
  4. typedef array{
  5. byte aa[SIZE];
  6. }
  7.  
  8. byte arr1[SIZE];
  9. byte arr2[SIZE];
  10. array finalarray[SIZE];
  11. byte m = SIZE;
  12. byte n = SIZE;
  13.  
  14.  
  15. inline initArray1()
  16. {
  17. i = 0;
  18. do
  19. :: (i>=SIZE) -> break;
  20. :: else ->
  21. v = 0;
  22. do
  23. :: (v >= 0) -> break;
  24. :: (v < MAX) -> v++;
  25. od;
  26. arr1[i] = v;
  27. i++;
  28. od;
  29. }
  30.  
  31. inline initArray2()
  32. {
  33. i = 0;
  34. do
  35. :: (i>=SIZE) -> break;
  36. :: else ->
  37. v = 0;
  38. do
  39. :: (v >= 0) -> break;
  40. :: (v < MAX) -> v++;
  41. od;
  42. arr2[i] = v;
  43. i++;
  44. od;
  45. }
  46.  
  47. inline LCSsubstr(){
  48. i = 0;
  49. result = 0;
  50. do
  51. :: (i >= SIZE) -> break;
  52. :: else ->
  53. j = 0;
  54. do
  55. :: (j >= SIZE) -> break;
  56. ::else ->
  57. if
  58. :: (i == 0 || j == 0) -> finalarray[i].aa[j] = 0;
  59. ::else ->
  60. if
  61. :: (arr1[i - 1] == arr2[j - 1]) ->
  62. finalarray[i].aa[j] = finalarray[i-1].aa[j-1] + 1;
  63. if
  64. :: (finalarray[i].aa[j] > result) -> result = finalarray[i].aa[j];
  65. fi;
  66. :: else -> finalarray[i].aa[j] = 0;
  67. fi;
  68. fi;
  69. j = j+1;
  70. od;
  71. i=i+1;
  72. od;
  73.  
  74.  
  75.  
  76. printf("Length of LCS: %d\n",result);
  77.  
  78.  
  79.  
  80. }
  81.  
  82. init {
  83. byte i,j,v,result;
  84. initArray1();
  85. initArray2();
  86. LCSsubstr();
  87.  
  88.  
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement