Advertisement
naskedvi

T5 - zad.3a

Mar 30th, 2014
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include<algorithm>
  3.  
  4. int Suma_cifara(int broj)
  5. {
  6. int cifra(0), suma(0);
  7. while(broj!=0)
  8. {
  9. cifra=broj%10;
  10. suma+=cifra;
  11. broj/=10;
  12. }
  13. return suma;
  14. }
  15.  
  16. bool manja_suma_cifara(int a, int b)
  17. {
  18. if(Suma_cifara(a)<Suma_cifara(b))
  19. return true;
  20. else return false;
  21. }
  22.  
  23. bool Stepeni_dvojke(int broj)
  24. {
  25. if(broj==1)
  26. return true;
  27. else{
  28. do{
  29. if(broj%2==0)
  30. broj/=2;
  31. else
  32. {
  33. return false;
  34. break;
  35. }
  36. }while(broj>=2);
  37. return true;
  38. }
  39. }
  40.  
  41. bool dvocifreni(int broj)
  42. {
  43. if(broj>=10 && broj<100)
  44. return true;
  45. else return false;
  46. }
  47.  
  48. int main()
  49. {
  50. std::cout<<"Unesi broj clanova niza: ";
  51. int n, niz[50], novi_niz[50];
  52. std::cin>>n;
  53. std::cout<<"Unesi niz:"<<std::endl;
  54.  
  55. for(int i=0; i<n; i++)
  56. std::cin>> niz[i];
  57.  
  58. std::cout<<"Najveći element niza: "
  59. <<*std::max_element(std::begin(niz), std::begin(niz)+n);
  60.  
  61. std::cout<<std::endl<<"Broj pojavljivanja najmanjeg elementa: "
  62. <<std::count(std::begin(niz), std::begin(niz)+n,
  63. *std::min_element(std::begin(niz), std::begin(niz)+n));
  64.  
  65.  
  66. std::cout<<std::endl<<"Broj elemenata koji su stepeni dvojke: "
  67. <<std::count_if(std::begin(niz), std::begin(niz)+n,
  68. Stepeni_dvojke);
  69.  
  70. std::cout<<std::endl<<"Element sa najmanjom sumom cifara: "
  71. <<*std::min_element(std::begin(niz), std::begin(niz)+n,
  72. manja_suma_cifara);
  73.  
  74. std::cout<<std::endl;
  75. std::remove_copy_if(std::begin(niz), std::begin(niz)+n,
  76. std::begin(novi_niz), dvocifreni);
  77.  
  78. //broj elemata novog_niza
  79.  
  80. int a(n-std::count_if(std::begin(niz), std::begin(niz)+n,
  81. dvocifreni));
  82.  
  83. std::cout<<std::endl<<
  84. std::for_each(std::begin(novi_niz),std::begin(novi_niz)+a,
  85. [] (int x) { std::cout<<x<<" ";});
  86.  
  87.  
  88. return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement