Advertisement
Lavig

Лабораторна робота №14 (Завдання 4)

Dec 5th, 2024 (edited)
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. vector<int> sequence(vector<int> arr, int size);
  8.  
  9. int main()
  10. {
  11.     SetConsoleOutputCP(1251);
  12.     srand(time(0));
  13.     vector<int> array{};
  14.     int num, i{}, elements, length{};
  15.     elements = rand() % 10 + 3;
  16.     cout << "Згенерований масив: " << endl;
  17.     for (i = 0; i < elements; i++) {
  18.         num = rand() % 10 + 1;
  19.         array.push_back(num);
  20.         cout << num << " ";
  21.     }
  22.     length = array.size();
  23.     vector<int> result = sequence(array, length);
  24.     cout << endl << "Найдовша зростаюча послідовність: " << endl;
  25.     for (i = 0; i < result.size(); i++) {
  26.         cout << result[i] << " ";
  27.     }
  28. }
  29. vector<int> sequence(vector<int> arr, int size)
  30. {
  31.     int i{};
  32.     vector<int> sequence_now, longest_sequence{};
  33.     sequence_now.push_back(arr[0]);
  34.     for (i = 1; i < size; i++) {
  35.         if (arr[i] > arr[i - 1]) {
  36.             sequence_now.push_back(arr[i]);
  37.         }
  38.         else {
  39.             if (sequence_now.size() > longest_sequence.size()) {
  40.                 longest_sequence = sequence_now;
  41.             }
  42.             sequence_now.clear();
  43.             sequence_now.push_back(arr[i]);
  44.         }
  45.     }
  46.     if (sequence_now.size() > longest_sequence.size()) {
  47.         longest_sequence = sequence_now;
  48.     }
  49.     return longest_sequence;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement