Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- template <typename T1,typename T2,typename T3>
- void SimetricnaRazlikaBlokova(T1 p1,T1 p2,T2 p3,T2 p4,T3 p5){
- T1 niz1=p1;
- int i=0;
- T3 kraj=p5;
- while(niz1<p2){
- T1 pom1=niz1-1;
- while(pom1>p1){
- if(*pom1==*niz1)break;
- pom1--;
- }
- if(pom1>p1){
- niz1++;
- continue;}
- T2 niz2=p3;
- while(niz2<p4){
- if(*niz1==*niz2) break;
- niz2++;
- }
- if(niz2<p4){
- niz1++;
- continue;
- }
- T3 pom3=p5;
- while(pom3<kraj){
- if(*pom3==*niz1)break;
- pom3++;
- }
- if(pom3<kraj){
- niz1++;
- continue;
- }
- *kraj=*niz1;
- kraj++;
- niz1++;
- }
- T2 niz2=p3;
- while(niz2<p4){
- T2 pom2=niz2-1;
- while(pom2>p2){
- if(*pom2==*niz2)break;
- pom2--;
- }
- if(pom2>p2){
- niz2++;
- continue;}
- T1 niz1=p1;
- while(niz1<p2){
- if(*niz1==*niz2) break;
- niz1++;
- }
- if(niz1<p2){
- niz2++;
- continue;
- }
- T3 pom3=p5;
- while(pom3<kraj){
- if(*pom3==*niz2)break;
- pom3++;
- }
- if(pom3<kraj){
- niz2++;
- continue;
- }
- *kraj=*niz2;
- kraj++;
- niz2++;
- }
- }
- int main()
- {
- vector<int> v1{5, 2, 7, 4, 6, 1, 3, 2, 7,4};
- vector<int> v2{2, 9, 0, 6, 0, 4, 8, 3, 2,5};
- vector <int> v3(5);
- //SimetricnaRazlikaBlokova(&v1,&v1+9,&v2,&v2+9,&v3);
- SimetricnaRazlikaBlokova(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin());
- for(auto x:v3)
- cout<<x<<" ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement