Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5.  
  6. template < typename T>
  7. std::pair<bool, int > findInVector(const std::vector<T> & vecOfElements, const T & element)
  8. {
  9. std::pair<bool, int > result;
  10.  
  11.  
  12. auto it = std::find(vecOfElements.begin(), vecOfElements.end(), element);
  13.  
  14. if (it != vecOfElements.end())
  15. {
  16. result.second = distance(vecOfElements.begin(), it);
  17. result.first = true;
  18. }
  19. else
  20. {
  21. result.first = false;
  22. result.second = -1;
  23. }
  24.  
  25. return result;
  26. }
  27.  
  28. int main()
  29. {
  30. std::vector<int> vecOfNums = { 12, 45, 54, 33, 2, 7, 8, 22, 43, 19 };
  31.  
  32.  
  33. std::vector<int>::iterator it = std::find(vecOfNums.begin(), vecOfNums.end(), 22);
  34.  
  35. if (it != vecOfNums.end())
  36. {
  37. std::cout << "Element Found" << std::endl;
  38.  
  39. // Get index of element from iterator
  40. int index = std::distance(vecOfNums.begin(), it);
  41. std::cout <<"Index of element in vector : "<<index<<std::endl;
  42. }
  43. else
  44. {
  45. std::cout << "Element Not Found" << std::endl;
  46. }
  47.  
  48. std::pair<bool, int> result = findInVector<int>(vecOfNums, 45);
  49.  
  50. if (result.first)
  51. std::cout << "Element Found at index : " << result.second <<std::endl;
  52. else
  53. std::cout << "Element Not Found" << std::endl;
  54.  
  55.  
  56. std::vector<int>::iterator it2 = std::find_if(vecOfNums.begin(), vecOfNums.end(), [](const int & val){
  57. if (val % 3 == 0)
  58. return true;
  59. return false;
  60. });
  61.  
  62. if (it != vecOfNums.end())
  63. std::cout << "Multiple of 3 Found : " << *it2 << std::endl;
  64. else
  65. std::cout << "Multiple of 3 Not Found" << std::endl;
  66.  
  67. bool found = false;
  68. // Iterate over all elements in Vector
  69. for (auto & elem : vecOfNums)
  70. {
  71. if (elem == 22)
  72. {
  73. found = true;
  74. break;
  75. }
  76. }
  77. if(found)
  78. std::cout << "Element Found" << std::endl;
  79. else
  80. std::cout << "Element Not Found" << std::endl;
  81.  
  82. return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement