• Source
    1. #include <vector>
    2. #include <iostream>
    3. #include <algorithm>
    4.  
    5. std::vector<int> mink_v2(std::vector<int> array, int k) {
    6. int size = array.size();
    7. for (int i = 0; i < k; i++) {
    8. for (int j = size - i - 1; j > 0; j--) {
    9. if (array[j] < array[j - 1]) {
    10. int tmp = array[j];
    11. array[j] = array[j - 1];
    12. array[j - 1] = tmp;
    13. }
    14. }
    15. }
    16. std::vector<int> result;
    17. result.resize(k);
    18. std::copy_n(array.begin(), k, result.begin());
    19. return result;
    20. }
    21.  
    22. int main(void) {
    23. int n, k;
    24. std::vector<int> array;
    25. std::cout << "Introduceti numarul de elemente: ";
    26. std::cin >> n;
    27. std::cout << "Introduceti numarul elementelor pastrate: ";
    28. std::cin >> k;
    29. std::cout << "Introduceti cele " << n << " numere: ";
    30. for (int i = 0; i < n; i++) {
    31. int value;
    32. std::cin >> value;
    33. array.push_back(value);
    34. }
    35. std::vector<int> result = mink_v2(array, k);
    36. std::cout << "Elementele pastrate sunt:";
    37. for (int i = 0; i < k; i++) {
    38. std::cout << ' ' << result[i];
    39. }
    40. std::cout << std::endl;
    41. }