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

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

Показать ответ
Ответ:
Cookiefluffy1500
Cookiefluffy1500
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-бота