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

Вывод не повторяющихся в массиве В, элементов массива А - C++

Восстановить пароль Регистрация
 
MrTigro
3 / 3 / 2
Регистрация: 22.01.2014
Сообщений: 16
22.01.2014, 13:34     Вывод не повторяющихся в массиве В, элементов массива А #1
Доброго времени суток.Помогите пожалуйста с задачкой.
Ввести массивы А и В. В массив С скопировать те элементы массива А, которых нет в массиве В
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
22.01.2014, 14:13     Вывод не повторяющихся в массиве В, элементов массива А #2
Быстро набросала, ибо на работе. Вроде верно.
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
#include <stdio.h>
#include <iostream>
#define N 10
void main(void)
{
    int c = 0;
    bool fl = false;
    int A[N], B[N], C[N];
    for (int i = 0; i < N; ++i)
    {
        A[i] = rand()%100;
        B[i] = rand()%100;
    }
    std::cout <<  std::endl;
    for (int i = 0; i < N; ++i)
    {
        for(int j = 0; j < N; ++j)
        {
            if (A[i] != B[j]) 
                {
                    fl = true;
                }
            else 
                {
                    fl = false;
                    break;
                }
        }
        if (fl == true)
        {
            C[c] = A[i];
            std::cout << C[c] << std::endl;
            c++;
        }
    }
    system("pause");
}
Если Вам нужен самостоятельный ввод чисел, то замените
C++
1
2
        A[i] = rand()%100;
        B[i] = rand()%100;
на
C++
1
2
std::cin >> A[i];
std::cin >> B[i];
Добавлено через 7 минут
Для самостоятельного ввода массивов.
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
#include <stdio.h>
#include <iostream>
#define N 10
void main(void)
{
    int c = 0;
    bool fl = false;
    int A[N], B[N], C[N];
    for (int i = 0; i < N; ++i)
    {
        std::cin >> A[i];
    }
    for (int i = 0; i < N; ++i)
    {
        std::cin >> B[i];
    }
    std::cout <<  std::endl;
    for (int i = 0; i < N; ++i)
    {
        for(int j = 0; j < N; ++j)
        {
            if (A[i] != B[j]) 
                {
                    fl = true;
                }
            else 
                {
                    fl = false;
                    break;
                }
        }
        if (fl == true)
        {
            C[c] = A[i];
            std::cout << C[c] << std::endl;
            c++;
        }
    }
    system("pause");
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
22.01.2014, 14:32     Вывод не повторяющихся в массиве В, элементов массива А #3
STL решение:
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
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
 
template <typename T>
std::ostream& operator << (std::ostream& os, const std::vector<T>& v)
{
   std::copy(v.begin(), v.end(), std::ostream_iterator<T>(os, " "));
   os << "\n";
   return os;
}
 
int main()
{
   std::vector<int> A {7, 4, 1, 20, 5, 17, 5, 5, 89, 3, 0};
   std::vector<int> B {3, 2, 1, 5, 7};
   std::vector<int> C;
 
   std::sort(A.begin(), A.end());
   std::sort(B.begin(), B.end());
   A.erase(std::unique(A.begin(), A.end()), A.end());
   std::set_difference(A.begin(), A.end(), B.begin(), B.end(), std::back_inserter(C));
   std::cout << A << B << C;
 
   return 0;
}
MrTigro
3 / 3 / 2
Регистрация: 22.01.2014
Сообщений: 16
22.01.2014, 14:34  [ТС]     Вывод не повторяющихся в массиве В, элементов массива А #4
Спасибо ,очень помогло
Yandex
Объявления
22.01.2014, 14:34     Вывод не повторяющихся в массиве В, элементов массива А
Ответ Создать тему
Опции темы

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