Advertisement
naskedvi

S4 - zad.46

Apr 25th, 2014
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. template<typename Tip>
  5. std::vector<Tip> Djelioci(std::vector<Tip> v, int broj)
  6. {
  7.     std::vector<Tip> w;
  8.     for(int i=0; i<v.size(); i++)
  9.     {
  10.         if(v[i]%broj==0)
  11.             w.push_back(v[i]);
  12.     }
  13.     return w;
  14. }
  15.  
  16. void Transformisi(std::vector<int> &v)
  17. {
  18.     for(int i=0; i<v.size(); i++)
  19.         v[i]=(v[i]*v[i]+1)%13;
  20. }
  21.  
  22. void IndeksMiniMax(std::vector<int> v, int &i_mini, int &i_maxi)
  23. {
  24.     int mini=v[0], maxi=v[1];
  25.     i_mini=0;
  26.     i_maxi=0;
  27.     for(int i=0; i<v.size(); i++)
  28.     {
  29.         if(v[i]>maxi)
  30.         {
  31.             maxi=v[i];
  32.             i_maxi=i;
  33.         }
  34.     }
  35.  
  36.     for(int i=0; i<v.size(); i++)
  37.     {
  38.         if(v[i]<mini)
  39.         {
  40.             mini=v[i];
  41.             i_mini=i;
  42.         }
  43.     }
  44. }
  45.  
  46. bool PotpuniKvadrat(std::vector<int> v)
  47. {
  48.     for(int i=0; i<v.size(); i++)
  49.     {
  50.         for(int j=1; j<=v[i]; j++)
  51.         {
  52.             if(v[i]==j*j)
  53.             {
  54.                 return true;
  55.                 break;
  56.             }
  57.         }
  58.     }
  59.     return false;
  60. }
  61.  
  62. template <typename Tip>
  63. void Ispis(Tip pocetak, Tip iza_kraja)
  64. {
  65.     while(pocetak!=iza_kraja)
  66.         std::cout<<*pocetak++<<" ";
  67. }
  68.  
  69. int main()
  70. {
  71.     std::cout<<"Unesi broj elemenata: ";
  72.     int n;
  73.     std::cin>>n;
  74.     std::cout<<"Unesi elemente:"<<std::endl;
  75.     std::vector<int> v(n);
  76.     for(int i=0; i<n; i++)
  77.         std::cin>>v[i];
  78.  
  79.     std::cout<<"Unesi broj: ";
  80.     int broj;
  81.     std::cin>> broj;
  82.     std::vector<int> novi(Djelioci(v, broj));
  83.  
  84.     Transformisi(novi);
  85.  
  86.     int i_mini, i_maxi;
  87.     IndeksMiniMax(novi, i_mini, i_maxi);
  88.  
  89.     for(int i=0; i<novi.size(); i++)
  90.     {
  91.         if(i==i_mini || i==i_maxi)
  92.           novi[i]=0;
  93.     }
  94.  
  95.     Ispis(novi.begin(), novi.end());
  96.  
  97.     return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement