Помогите с С++

Помогите пожалуйста
По дате
По рейтингу
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
#include <ctime>
using namespace std;
// Функция для заполнения массива случайными числами
void fillArrayRandom(vector<double>& arr, int size) {
random_device rd;
mt19937 gen(rd());
uniform_real_distribution<> dis(1.0, 100.0);
for (int i = 0; i < size; ++i) {
arr.push_back(dis(gen));
}
}
// Функция для ввода массива с клавиатуры
void fillArrayFromInput(vector<double>& arr, int size) {
double value;
for (int i = 0; i < size; ++i) {
cout << "Введите значение " << i + 1 << ": ";
cin >> value;
arr.push_back(value);
}
}
// Функция для объединения двух массивов и сортировки по убыванию
vector<double> mergeAndSort(const vector<double>& arr1, const vector<double>& arr2) {
vector<double> merged(arr1.begin(), arr1.end());
merged.insert(merged.end(), arr2.begin(), arr2.end());
sort(merged.rbegin(), merged.rend());
return merged;
}
int main() {
int size1, size2;
vector<double> arr1, arr2;
cout << "Введите размер первого массива (от 1 до 100): ";
cin >> size1;
if(size1 < 1 || size1 > 100) {
cout << "Неверное значение размера массива. Попробуйте снова." << endl;
return 1;
}
cout << "Заполнить первый массив случайными числами или вручную? (1 - случайно, 2 - вручную): ";
int choice;
cin >> choice;
if (choice == 1) {
fillArrayRandom(arr1, size1);
} else if (choice == 2) {
fillArrayFromInput(arr1, size1);
} else {
cout << "Неверный выбор. Попробуйте снова." << endl;
return 1;
}
cout << "Введите размер второго массива (от 1 до 100): ";
cin >> size2;
if(size2 < 1 || size2 > 100) {
cout << "Неверное значение размера массива. Попробуйте снова." << endl;
return 1;
}
cout << "Заполнить второй массив случайными числами или вручную? (1 - случайно, 2 - вручную): ";
cin >> choice;
if (choice == 1) {
fillArrayRandom(arr2, size2);
} else if (choice == 2) {
fillArrayFromInput(arr2, size2);
} else {
cout << "Неверный выбор. Попробуйте снова." << endl;
return 1;
}
vector<double> mergedArray = mergeAndSort(arr1, arr2);
cout << "Объединенный и отсортированный массив по убыванию: " << endl;
for (const auto& num : mergedArray) {
cout << num << " ";
}
cout << endl;
return 0;
}
Этот код определяет функции для заполнения массивов случайными числами и с клавиатуры, объединяет два массива и сортирует их по убыванию. Пожалуйста, убедитесь, что у вас установлен компилятор C++, чтобы запустить этот код.
Больше по теме