Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2017, 17:16   #1
Bossx
Новичок
Джуниор
 
Регистрация: 19.05.2017
Сообщений: 2
По умолчанию Программа должна создать два статических массива со случайными элементами из диапазона [5;20]

Кто знает, как правильно поправить код на С++? Программа должна создать два статических массива со случайными
элементами из диапазона [5;20], по 10 элементов в каждом массиве, вывести
каждый массив на экран на отдельной строке. Затем программа должна создать
динамический массив нужного размера и скопировать в него все общие
элементы из первых двух массивов(без повторений). Вывести получившийся
динамический массив на экран на отдельной строке.

Пример работы программы:
12 7 16 19 9 16 11 13 8 5
6 10 10 16 13 7 17 13 18 14
7 16 13

Код HTML:
#include <iostream>
#include <conio.h>

using namespace std;

int *f8(int *a, int *b, int m, int n, int *sizetotal)
{
    bool flag;
    int newsize = 0;
    for (int i = 0; i < m; ++i)
    {
        flag = true;
        for (int j = 0; j < n; ++j)
        {
            if (flag == true && a[i] == b[j])
            {
                flag = false;
                ++newsize;
                break;
            }
        }
    }
    *sizetotal = newsize;
    int* arr = new int[*sizetotal]{};
    int k = 0;
    for (int i = 0; i < m; ++i)
    {
        flag = true;
        for (int j = 0; j < n; ++j)
        {
            if (flag == true && a[i] == b[j])
            {
                arr[k] = b[j];
                ++k;
                flag = false;
                break;
            }
 
        }
 
    }
    return arr;
}
void InitArray(int *a, int size, int min, int max)
{
    for (int i = 0; i < size; ++i)
    {
        a[i] = rand() % (max - min + 1) + min;
    }
}
cout << "Enter size of first array:" << endl;
    cin >> N;
    arrd = new int[N];
    InitArray(arrd, N, 5, 20);
    ShowArray(arrd, N);
    cout << "Enter size of second array:" << endl;
    cin >> M;
    arrd2 = new int[M];
    InitArray(arrd2, M, -10, 10);
    ShowArray(arrd2, M);
    int *sizetotal = &N;
    ares = f8(arrd, arrd2, N, M, sizetotal);
    ShowArray(ares, *sizetotal);
    delete[]arrd;
    arrd = nullptr;
    delete[]arrd2;
    arrd2 = nullptr;
    delete[]ares;
    ares = nullptr;
    getch();
}
Bossx вне форума Ответить с цитированием
Старый 25.05.2017, 20:51   #2
Bossx
Новичок
Джуниор
 
Регистрация: 19.05.2017
Сообщений: 2
По умолчанию

Никто не знает?
Bossx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать стек со случайными целыми числами в диапазоне –50 до +50 и преобразовать его в два стека. Первый должен содержать только п zenya1998 Паскаль, Turbo Pascal, PascalABC.NET 1 05.05.2016 17:14
Заполните два массива длинной по 10 элементов каждый случайными целыми числами из диапазона от 10 до 100 так, что бы все 20 чисел Вутвут Паскаль, Turbo Pascal, PascalABC.NET 6 03.03.2016 19:05
написать программу массивы (C++) - Создать 2 массива по 5 элементов. Заполнить их случайными числами и отсортировать Саша1990 Помощь студентам 1 02.02.2015 00:01
ПАСКАЛЬ.Заданы два одномерных массива.Объединить их в один массив, включив второй массив между K-ым и (K+1)-м элементами первого. dmitriy20104 Помощь студентам 7 06.07.2012 20:44