
Напишите 2 простые программы на C++ 1. Задать одномерный массив целых чисел. И образовать из него
два отсортированных по возрастанию массива, содержащих четные и нечетные числа. 2. Генератором случайных чисел задан одномерный массив из действительных чисел. Найдите максимальное и минимальное число этого массива.

Ответы на вопрос

1.
#include <iostream>
#include <vector>
using namespace std;
int main(){
int a,b;
cin>>a;
vector<int> v1;
vector<int> v2;
for(int i=0; i<a; i++){
cin>>b;
if (b%2==0) v1.emplace_back(b);
else v2.emplace_back(b);
}
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end());
for(auto & i: v1) cout<<i<<" ";
}
2.
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<float> v;
//здесь нам задают массив
sort(v.begin(), v.end());
cout<<v[0]<<v.back();
}



Программа 1: Разделение массива на четные и нечетные числа и их сортировка:
cpp#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int n;
std::cout << "Введите размер массива: ";
std::cin >> n;
std::vector<int> arr(n);
std::cout << "Введите элементы массива:\n";
for (int i = 0; i < n; ++i) {
std::cin >> arr[i];
}
std::vector<int> evenNumbers;
std::vector<int> oddNumbers;
for (int i = 0; i < n; ++i) {
if (arr[i] % 2 == 0) {
evenNumbers.push_back(arr[i]);
} else {
oddNumbers.push_back(arr[i]);
}
}
std::sort(evenNumbers.begin(), evenNumbers.end());
std::sort(oddNumbers.begin(), oddNumbers.end());
std::cout << "Отсортированный массив четных чисел:\n";
for (int num : evenNumbers) {
std::cout << num << " ";
}
std::cout << "\n";
std::cout << "Отсортированный массив нечетных чисел:\n";
for (int num : oddNumbers) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
Программа 2: Поиск максимального и минимального числа в массиве действительных чисел:
cpp#include <iostream>
#include <vector>
#include <cstdlib> // Для функций rand и srand
#include <ctime> // Для функции time
int main() {
int n;
std::cout << "Введите размер массива: ";
std::cin >> n;
std::vector<double> arr(n);
// Инициализация генератора случайных чисел
std::srand(std::time(0));
std::cout << "Сгенерированный массив:\n";
for (int i = 0; i < n; ++i) {
arr[i] = static_cast<double>(std::rand()) / RAND_MAX; // Генерируем числа от 0 до 1
std::cout << arr[i] << " ";
}
std::cout << "\n";
double maxNumber = arr[0];
double minNumber = arr[0];
for (int i = 1; i < n; ++i) {
if (arr[i] > maxNumber) {
maxNumber = arr[i];
}
if (arr[i] < minNumber) {
minNumber = arr[i];
}
}
std::cout << "Максимальное число: " << maxNumber << "\n";
std::cout << "Минимальное число: " << minNumber << "\n";
return 0;
}
Обратите внимание, что во второй программе используется генератор случайных чисел для заполнения массива. Для правильной работы случайных чисел используется функция srand
с передачей текущего времени в качестве семени генератора.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili