Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Filch Filchwe Ученик (147), на голосовании 4 месяца назад
Помогите пожалуйста
Голосование за лучший ответ
Татьяна Просветленный (36374) 5 месяцев назад
 #include  
#include
#include
#include
#include

using namespace std;

// Функция для заполнения массива случайными числами
void fillArrayRandom(vector& 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& arr, int size) {
double value;
for (int i = 0; i < size; ++i) {
cout << "Введите значение " << i + 1 << ": ";
cin >> value;
arr.push_back(value);
}
}

// Функция для объединения двух массивов и сортировки по убыванию
vector mergeAndSort(const vector& arr1, const vector& arr2) {
vector 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 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 mergedArray = mergeAndSort(arr1, arr2);

cout << "Объединенный и отсортированный массив по убыванию: " << endl;
for (const auto& num : mergedArray) {
cout << num << " ";
}
cout << endl;

return 0;
}
Этот код определяет функции для заполнения массивов случайными числами и с клавиатуры, объединяет два массива и сортирует их по убыванию. Пожалуйста, убедитесь, что у вас установлен компилятор C++, чтобы запустить этот код.
Filch FilchweУченик (147) 5 месяцев назад
А по какой причине выдает код неверное значение массива?
Татьяна Просветленный (36374) Filch Filchwe, в программе специально сделана проверка чтобы проверять на корректные данные вводимые
Похожие вопросы