В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Neal12
Neal12
30.04.2020 23:58 •  Информатика

C++. заданы два массива a(n) и b(m). из массива a выбрать и напечатать числа, которые больше хотя бы одного из элементов массива b. использовать функции! ​

Показать ответ
Ответ:
Рюзаки1
Рюзаки1
10.10.2020 13:56

#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() % 200 - 100;

}

return arr;

}

void print_vector(vector<int> vec) {

for (int elem : vec) {

 cout << elem << " ";

}

cout << endl;

}

int min_in_array(int* arr, int n) {

int min_arr = arr[0];

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

 if (arr[i] <= min_arr) {

  min_arr = arr[i];

 }

}

return min_arr;

}

vector<int> selection_of_elements_in_the_first_array_at_the_minimum_of_the_second_array(int* arr1, int n, int* arr2, int m) {

int count = 0;

int min_arr2 = min_in_array(arr2, m);

vector<int> vec;

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

 if (arr2[i] <= min_arr2) {

  min_arr2 = arr2[i];

 }

}

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

 if (arr1[i] >= min_arr2) {

  vec.push_back(arr1[i]);

 }

}

return vec;

}

int main() {

srand(time(NULL));

setlocale(LC_ALL, "Russian");

int n;

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

cin >> n;

int m;

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

cin >> m;

int* array1 = new int[n];

int* array2 = new int[m];

int sum = 0;

vector<int> vec;

array1 = auto_input_array(array1, n);

array2 = auto_input_array(array2, m);

print_array(array1, n);

print_array(array2, m);

vec = selection_of_elements_in_the_first_array_at_the_minimum_of_the_second_array(array1, n, array2, m);

delete[] array1;

delete[] array2;

cout << "Числа, которые больше любого элемента в массиве B: " << endl;

print_vector(vec);

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота