| Код | #include <iostream> #include <cstdlib> //нужен для rand() чтобы не вводить массив вручную #include <ctime> // нужен для time(NULL) для инициализации рандомных значений
const int N = 100; // общая длина массивов сделана для упрощения кода, если нужна разная длина, // то просто передавай нужные значения в функции и измени, соответственно, места в коде на нужные значения const int div_mod = 137;
int get_similar_from_array(int *src, int *dst) { // возвращает количество различных элементов из массива src, массив dst хранит различные элементы int num = 1; dst[0] = src[0];
for (int i = 1; i < N; i++) { bool flag = true; for (int j = 0; j < num; j++) if (dst[j] == src[i]) { flag = false; break; } if (flag) { dst[num] = src[i]; num++; } } return num; }
bool print_similar_elements(int *a, int *b) { int no_similar_a[N] = {0}; int no_similar_b[N] = {0}; int num_a; int num_b;
num_a = get_similar_from_array(a, no_similar_a); num_b = get_similar_from_array(b, no_similar_b);
// вывод различных элементов в массивах /* std::cout << "First array without similar elements:\n"; for (int i = 0; i < num_a; i++) { std::cout << no_similar_a[i] << " "; } std::cout << std::endl << std::endl;
std::cout << "Second array without similar elements:\n"; for (int i = 0; i < num_b; i++) { std::cout << no_similar_b[i] << " "; } std::cout << std::endl << std::endl; */
int similar_counter = 0; std::cout << "Similar elements from arrays\n"; for (int i = 0; i < num_a; i++) for (int j = 0; j < num_b; j++) if (no_similar_a[i] == no_similar_b[j]) { std::cout << no_similar_a[i] << " "; similar_counter++; } if (similar_counter == 0) std::cout << "Nothing"; std::cout << std::endl; return similar_counter; }
int main() { int a[N]; int b[N]; srand(time(NULL)); for (int i = 0; i < N; i++) { a[i] = rand() % div_mod; b[i] = rand() % div_mod; }
std::cout << "First array:\n"; for (int i = 0; i < N; i++) std::cout << a[i] << " "; std::cout << std::endl << std::endl;
std::cout << "Second array:\n"; for (int i = 0; i < N; i++) std::cout << b[i] << " "; std::cout << std::endl << std::endl;
std::cout << "return "; print_similar_elements(a, b) ? std::cout << "true\n" : std::cout << "false\n"; return 0; }
|
|