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

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

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

C++ Что-то не хочет пахать :( | Даны два целочисленных массива К(m) и L(n). Найти наибольший элемент массива K, не имеющий себе равных в массиве L.
C++ Дано два одномерных массива целых чисел А и В. Вычислить одномерный массив С, который содержит элементы, присутствующие в массивах А и В в одном экзем
C++ Для одномерного массива, состоящих из n целых чисел: Найти номер максимального элемента;
Для одномерного массива, состоящих из n целых чисел: найти умножение элементов между 1 и 2-ым нулевым элементом; C++
В одномерном массиве состоящих из n целочисленных элементов вычислить... C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 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 нужных чисел.
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
02.12.2011, 23:22  [ТС]     Дано два целочисленных массива, состоящих из неповторяющихся чисел. #3
А как сделать из неповторяющихся чисел? И массивы к примеру [1..10,1..10].
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2011, 23:31     Дано два целочисленных массива, состоящих из неповторяющихся чисел. #4
Цитата Сообщение от venson! Посмотреть сообщение
И массивы к примеру [1..10,1..10]
такое ощущение, что Вы очень хорошо знакомы с Паскалем. Тогда вопрос, зачем Вам двумерный массив?
Сформулирую вопрос так: Вам нужно показать, как формировать одномерный массив состоящий из неповторяющихся чисел? Если да, то еще один вопрос: как должен заполняться массив: с клавиатуры или с помощью rand()?
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 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;
}
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
02.12.2011, 23:48  [ТС]     Дано два целочисленных массива, состоящих из неповторяющихся чисел. #6
с клавиатуры или с помощью rand()?

C помощью rand
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.12.2011, 23:51     Дано два целочисленных массива, состоящих из неповторяющихся чисел. #7
venson!, вариант Петррр как раз с помощью rand() - не подойдет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2011, 23:53     Дано два целочисленных массива, состоящих из неповторяющихся чисел.
Еще ссылки по теме:

C++ Дано два целочисленных массива Сформировать новый массив, который содержит элементы первого массива, которых нет во втором
C++ Даны два целочисленных массива

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

Или воспользуйтесь поиском по форуму:
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
02.12.2011, 23:53  [ТС]     Дано два целочисленных массива, состоящих из неповторяющихся чисел. #8
Все всем спасибо
Yandex
Объявления
02.12.2011, 23:53     Дано два целочисленных массива, состоящих из неповторяющихся чисел.
Ответ Создать тему
Опции темы

Текущее время: 15:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru