How to print the top 3 largest values from vector in C++

1 Answer

0 votes
#include <iostream>
#include <vector>
#include <algorithm>

void sortVector(std::vector<int> &v) {
    sort(v.begin(), v.end());
}

void printTop3(std::vector<int> &v) {
    if (v.size() < 3) {
        return;
    }
    
    sortVector(v);

    for (auto i = v.end() - 1; i != v.end() - 4; i--)
        std::cout << *i << ' ';
}

int main()
{
    std::vector<int> v = {12, 98, 80, 50, 88, 35, 70, 60, 97, 85, 89};

    printTop3(v);
      
    return 0;
}
  
  
  
  
/*
run:
  
98 97 89 
  
*/

 



answered Jun 8, 2021 by avibootz

Related questions

2 answers 169 views
1 answer 134 views
1 answer 202 views
1 answer 149 views
1 answer 154 views
2 answers 167 views
1 answer 130 views
...