Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. template <typename T1,typename T2,typename T3>
  6.  
  7. void SimetricnaRazlikaBlokova(T1 p1,T1 p2,T2 p3,T2 p4,T3 p5){
  8.  
  9. T1 niz1=p1;
  10. int i=0;
  11. T3 kraj=p5;
  12.  
  13. while(niz1<p2){
  14.  
  15.  
  16. T1 pom1=niz1-1;
  17. while(pom1>p1){
  18. if(*pom1==*niz1)break;
  19. pom1--;
  20. }
  21.  
  22. if(pom1>p1){
  23. niz1++;
  24. continue;}
  25.  
  26. T2 niz2=p3;
  27. while(niz2<p4){
  28. if(*niz1==*niz2) break;
  29. niz2++;
  30. }
  31.  
  32. if(niz2<p4){
  33. niz1++;
  34. continue;
  35. }
  36.  
  37.  
  38. T3 pom3=p5;
  39. while(pom3<kraj){
  40. if(*pom3==*niz1)break;
  41. pom3++;
  42. }
  43. if(pom3<kraj){
  44. niz1++;
  45. continue;
  46. }
  47.  
  48.  
  49. *kraj=*niz1;
  50. kraj++;
  51.  
  52.  
  53.  
  54. niz1++;
  55. }
  56.  
  57.  
  58. T2 niz2=p3;
  59. while(niz2<p4){
  60.  
  61.  
  62. T2 pom2=niz2-1;
  63. while(pom2>p2){
  64. if(*pom2==*niz2)break;
  65. pom2--;
  66. }
  67.  
  68. if(pom2>p2){
  69. niz2++;
  70. continue;}
  71.  
  72. T1 niz1=p1;
  73. while(niz1<p2){
  74. if(*niz1==*niz2) break;
  75. niz1++;
  76. }
  77.  
  78. if(niz1<p2){
  79. niz2++;
  80. continue;
  81. }
  82.  
  83.  
  84. T3 pom3=p5;
  85. while(pom3<kraj){
  86. if(*pom3==*niz2)break;
  87. pom3++;
  88. }
  89. if(pom3<kraj){
  90. niz2++;
  91. continue;
  92. }
  93.  
  94.  
  95. *kraj=*niz2;
  96. kraj++;
  97.  
  98.  
  99.  
  100. niz2++;
  101. }
  102. }
  103.  
  104. int main()
  105. {
  106.  
  107. vector<int> v1{5, 2, 7, 4, 6, 1, 3, 2, 7,4};
  108. vector<int> v2{2, 9, 0, 6, 0, 4, 8, 3, 2,5};
  109. vector <int> v3(5);
  110. //SimetricnaRazlikaBlokova(&v1,&v1+9,&v2,&v2+9,&v3);
  111. SimetricnaRazlikaBlokova(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin());
  112.  
  113. for(auto x:v3)
  114. cout<<x<<" ";
  115.  
  116. return 0;
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement