Advertisement
Lavig

Другий семестр. Лабораторна робота №17 (Завдання 2)

May 6th, 2025
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <list>
  4. #include <vector>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9. int FindK(list<int>& lst, int k) {
  10.     vector<int> vect(lst.begin(), lst.end());
  11.     sort(vect.begin(), vect.end(), greater<int>());
  12.     return vect[k - 1];
  13. }
  14.  
  15. int main()
  16. {
  17.     SetConsoleOutputCP(1251);
  18.     SetConsoleCP(1251);
  19.     srand(time(0));
  20.     list<int> numbers{};
  21.     int N{}, i{}, temp_number{}, k{};
  22.     while (true) {
  23.         cout << "Введіть бажану кількість елементів у списку (від 2 до 10): ";
  24.         cin >> N;
  25.         if (cin.fail() || cin.peek() != '\n' || N < 2 || N > 10) {
  26.             cin.clear();
  27.             cin.ignore(32767, '\n');
  28.             cout << "Число було введено неправильно. Спробуйте ще раз!" << endl;
  29.             continue;
  30.         }
  31.         else {
  32.             break;
  33.         }
  34.     }
  35.     cout << "Згенерований список: ";
  36.     for (i = 0; i < N; i++) {
  37.         temp_number = rand() % 201 - 100;
  38.         numbers.push_back(temp_number);
  39.         cout << temp_number << " ";
  40.     }
  41.     cout << endl;
  42.     while (true) {
  43.         cout << "Введіть k: ";
  44.         cin >> k;
  45.         if (cin.fail() || cin.peek() != '\n' || k < 1 || k > N) {
  46.             cin.clear();
  47.             cin.ignore(32767, '\n');
  48.             cout << "Число було введено неправильно. Спробуйте ще раз!" << endl;
  49.             continue;
  50.         }
  51.         else {
  52.             break;
  53.         }
  54.     }
  55.     cout << "k-й найбільший елемент у списку: " << FindK(numbers, k);
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement