Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
#1

Дано два целочисленных массива, состоящих из неповторяющихся чисел. - C++

02.12.2011, 22:46. Просмотров 481. Ответов 7
Метки нет (Все метки)

Дано два целочисленных массива, состоящих из неповторяющихся чисел. Сформировать новый массив, который содержит элементы первого массива, которых нет во втором массиве (массив-разность).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2011, 22:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано два целочисленных массива, состоящих из неповторяющихся чисел. (C++):

Дано два целочисленных массива Сформировать новый массив, который содержит элементы первого массива, которых нет во втором - C++
Полное условие: Дано два целочисленных массива, состоящих из неповторяющихся чисел. Сформировать новый массив, который содержит элементы...

Даны два целочисленных массива - C++
Напишите пожалуйста программу: Даны два целочисленных массива K(m) и L(n). Найти элементы массива K не имеющие себе равных в массиве L.

Что-то не хочет пахать :( | Даны два целочисленных массива К(m) и L(n). Найти наибольший элемент массива K, не имеющий себе равных в массиве L. - C++
Даны два целочисленных массива К(m) и L(n). Найти наибольший элемент массива K, не имеющий себе равных в массиве L. #include...

Создать и заполнить случайными числами два целочисленных массива - C++
Преобразовать эти массивы так ,чтобы в них не было повторяющихся чисел. Найти ,сколько членов первого массива совпадает с членами второго...

В одномерном массиве состоящих из n целочисленных элементов вычислить... - C++
В одномерном массиве состоящих из n целочисленных элементов вычислить 1.номер максимального элемента массива 2.произведение элементов...

Дано два одномерных массива, создать третий массив который содержит элементы первого массива - C++
Дано два одномерных массива, создать третий массив который содержит элементы первого массива, но без элементов второго массива. Заранее...

7
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2011, 23:13 #2
Если уже есть первый массив a[] размером N и есть второй массив b[] размером M. Тогда создаем массив c[] размером N.
Запускаем:
C++
1
2
3
4
5
6
7
8
9
int i, j, NN=0;
for(i=0 i<N; i++)
{
    for(j=0; j<M; j++)
        if(a[i]==b[j])
            break;
    if(j==M)
        c[NN++]=a[i];
}
По окончании этого цикла - в массиве c[] записано NN нужных чисел.
1
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
02.12.2011, 23:22  [ТС] #3
А как сделать из неповторяющихся чисел? И массивы к примеру [1..10,1..10].
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2011, 23:31 #4
Цитата Сообщение от venson! Посмотреть сообщение
И массивы к примеру [1..10,1..10]
такое ощущение, что Вы очень хорошо знакомы с Паскалем. Тогда вопрос, зачем Вам двумерный массив?
Сформулирую вопрос так: Вам нужно показать, как формировать одномерный массив состоящий из неповторяющихся чисел? Если да, то еще один вопрос: как должен заполняться массив: с клавиатуры или с помощью rand()?
1
Петррр
5962 / 3399 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
02.12.2011, 23:37 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>
#include <iterator>
 
int getUnique(const std::vector<int> &vec, int max)
{
    int val;
    do
    {
        val = rand() % max;
    }
    while (std::find(vec.begin(), vec.end(), val) != vec.end());
    return val;
}
 
int main()
{
    const int n = 10;
    std::vector<int> vec1;
    int val;
    vec1.resize(n);
    std::vector<int> vec2;
    vec2.resize(n);
    std::vector<int> vecResult;
    srand(time(NULL));
    
    for(int i = 0; i < n; i++)
    {
        vec1[i] = getUnique(vec1, 100);
        vec2[i] = getUnique(vec2, 100);
    }
    std::sort(vec1.begin(), vec1.end());
    std::sort(vec2.begin(), vec2.end());
    std::cout << "First: " << std::endl;
    std::copy(vec1.begin(), vec1.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl << "Second: " << std::endl;
    std::copy(vec2.begin(), vec2.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::set_difference(vec1.begin(), vec1.end(),
        vec2.begin(), vec2.end(),
        std::back_inserter(vecResult));
    std::cout << std::endl << "Difference: " << std::endl;
    std::copy(vecResult.begin(), vecResult.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    system("pause");
    return 0;
}
1
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
02.12.2011, 23:48  [ТС] #6
с клавиатуры или с помощью rand()?

C помощью rand
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2011, 23:51 #7
venson!, вариант Петррр как раз с помощью rand() - не подойдет?
1
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
02.12.2011, 23:53  [ТС] #8
Все всем спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 23:53
Привет! Вот еще темы с ответами:

Для одномерного массива, состоящих из n целых чисел: Найти номер максимального элемента; - C++
Для одномерного массива, состоящих из n целых чисел: Найти номер максимального элемента;

Для одномерного массива, состоящих из n целых чисел: найти умножение элементов между 1 и 2-ым нулевым элементом; - C++
Для одномерного массива, состоящих из n целых чисел: найти умножение элементов между 1 и 2-ым нулевым элементом;

Дано два файла, содержащих одинаковое количество целых чисел - C++
Нужно написать программку в C++. Дано два файла, содержащих одинаковое количество целых чисел. Записать из них в третий файл только те...

Дано 10 чисел, вводимых с клавиатуры. найти два крупнейших числа и их номера - C++
есть 10 чисел вводимых с клавиатуры. найти два крупнейших числа и их номера. int poz1, poz2, max1,max2;// using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
02.12.2011, 23:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru