Вопрос задан 24.04.2021 в 03:00. Предмет Информатика. Спрашивает Швец Сергей.

C++ Сгенерируйте массив из 10 элементов в диапазоне чисел от 150 до 310. Объявите еще два массива.

Заполните один из них четными числами из первого массива, а второй – нечетными. Оставшиеся незаполненными элементы массива замените нулями​
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кужелева Полина.

#include <iostream>

#include <time.h>

#include <vector>

using namespace std;

void print_array(int* arr, int n) {

for (size_t i = 0; i < n; i++) {

 cout << arr[i] << " ";

}

cout << endl;

}

int* auto_input_array(int* arr, int n) {

for (size_t i = 0; i < n; i++) {

 arr[i] = rand() % 160 + 150;

}

return arr;

}

void print_vector(vector<int> vec) {

for (int elem : vec) {

 cout << elem << " ";

}

cout << endl;

}

pair<vector<int>, vector<int>> odd_and_even_number_filling_vectors(int* arr, int n) {

vector<int> vec1,vec2;

for (size_t i = 0; i < n; i++) {

 if (arr[i] % 2 == 1) {

  vec1.push_back(arr[i]);

 }

 else {

  vec2.push_back(arr[i]);

 }

}

return make_pair(vec1, vec2);

}

pair<int*, int*> odd_and_even_number_filling_arrays(int* arr, int n) {

int* arr1 = new int[n];

int* arr2 = new int[n];

int count1 = 0;

int count2 = 0;

for (size_t i = 0; i < n; i++) {

 if (arr[i] % 2 == 1) {

  arr1[count1] = arr[i];

  count1++;

 }

 else {

  arr2[count2] = arr[i];

  count2++;

 }

}

for (size_t i = count1; i < n; i++) {

 arr1[i] = 0;

}

for (size_t i = count2; i < n; i++) {

 arr2[i] = 0;

}

return make_pair(arr1, arr2);

}

int main() {

srand(time(NULL));

setlocale(LC_ALL, "Russian");

int n;

cout << "Введите количество строк в массиве: ";

cin >> n;

int* array = new int[n];

pair<vector<int>, vector<int>> pair_vecs;

pair<int*, int*> pair_arrs;

array = auto_input_array(array, n);

print_array(array, n);

pair_vecs = odd_and_even_number_filling_vectors(array, n);

pair_arrs = odd_and_even_number_filling_arrays(array, n);

delete[] array;

cout << "Чётных элементов: ";

print_vector(pair_vecs.second);

cout << "Нечётных элементов: ";

print_vector(pair_vecs.first);

cout << "С использованием массивов:" << endl;

cout << "Чётных элементов: ";

print_array(pair_arrs.second, n);

cout << "Нечётных элементов: ";

print_array(pair_arrs.first, n);

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на C++, который генерирует массив из 10 элементов в диапазоне чисел от 150 до 310, заполняет два массива четными и нечетными числами из первого массива и заменяет оставшиеся незаполненными элементы массивов нулями:

cpp
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand(time(0)); // Инициализация генератора случайных чисел int arr[10]; // Массив из 10 элементов int even_arr[10] = {0}; // Массив четных чисел, инициализированный нулями int odd_arr[10] = {0}; // Массив нечетных чисел, инициализированный нулями // Заполнение массива arr случайными числами в диапазоне от 150 до 310 for(int i = 0; i < 10; i++) { arr[i] = rand() % 161 + 150; // Генерация случайного числа от 150 до 310 } // Заполнение массивов even_arr и odd_arr int even_count = 0; // Количество четных чисел int odd_count = 0; // Количество нечетных чисел for(int i = 0; i < 10; i++) { if(arr[i] % 2 == 0) // Если число четное { even_arr[even_count] = arr[i]; even_count++; } else // Если число нечетное { odd_arr[odd_count] = arr[i]; odd_count++; } } // Замена оставшихся незаполненными элементов массивов нулями for(int i = even_count; i < 10; i++) { even_arr[i] = 0; } for(int i = odd_count; i < 10; i++) { odd_arr[i] = 0; } // Вывод результатов cout << "Массив arr: "; for(int i = 0; i < 10; i++) { cout << arr[i] << " "; } cout << endl << "Массив even_arr: "; for(int i = 0; i < 10; i++) { cout << even_arr[i] << " "; } cout << endl << "Массив odd_arr: "; for(int i = 0; i < 10; i++) { cout << odd_arr[i] << " "; } cout << endl; return 0; }

Комментарии в коде объясняют каждую строку.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос