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

Скрыть или удалить повторяющиеся элементы массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определите номер минимального положительного элемента массива http://www.cyberforum.ru/cpp-beginners/thread1644830.html
Определите номер минимального положительного элемента массива. Первый элемент массива равен 1000 Размер массива 6
C++ Вычислите сумму целых чисел, вводимых с клавиатуры , пока сумма не станет больше 100 Вычислите сумму целых чисел, вводимых с клавиатуры , пока сумма не станет больше 100 . http://www.cyberforum.ru/cpp-beginners/thread1644824.html
Вычислите сумму ряда целых чисел, кратных 3 , пока последнее число не станет более 21 C++
Вычислите сумму ряда целых чисел, кратных 3 , пока последнее число не станет более 21
При компиляции простой программы - ошибки C++
Работаю в простой IDE. Занимаюсь по учебникам и по видео на ютубе, при компиляции кода появляются ошибки (покажу на скриншоте) Причем я пробовал компилировать в другой IDE , в Visual Studio. Но там ошибки кординально отличаются... Помогите разобраться новичку, сам пытался дней 5 решить эту головоломку, результат нулевой...
C++ Доступ по итератору к элементу вектора http://www.cyberforum.ru/cpp-beginners/thread1644796.html
Здравствуйте! Подскажите, пожалуйста, решение данной задачи: Дан вектор типа string, в нем есть два элемента. Необходимо добавить в третий элемент вектора равенство двух предыдущих элементов, то есть примерно так: #include <iostream> #include <vector> #include <string> #include <iterator> using namespace std;
C++ Определения типа через decltype Добрый день, int main() { int a = {1, 2, 3}; decltype(auto) c = (a); } Объясните: подробнее

Показать сообщение отдельно
Siplbl
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18

Скрыть или удалить повторяющиеся элементы массива - C++

22.01.2016, 12:58. Просмотров 397. Ответов 7
Метки (Все метки)

Вот сама задача.
Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортировать по не возрастанию. Разработать программу для слияния этих массивов в отсортированный по не возрастанию массив С, не содержащий одинаковых элементов.

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

Вот, что у меня есть на данный момент.
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include<iostream>
#include<Windows.h>
#include<stdlib.h>
#include<time.h>
using namespace std;
char*Rus(const char*text);
void init(int A[], int size);
void out(int A[], int size);
void sortb(int B[], int size);
void main()
{
    int z = 20;
    const int n = 10;
    int A[n];
    init(A, n);
    cout << (Rus("Неотсортированный массив A размером 10 символов\n"));
    out(A, n);
    sortb(A, n);
    cout << (Rus("\nОтсортированный массив A по не убыванию\n"));
    out(A, n);
    const int m = 10;
    int B[m];
    cout << ("\n*************************************");
    init(B, m);
    cout << (Rus("\n\nНеотсортированный массив B размером 10 символов\n"));
    out(B, m);
    sortb(B, m);
    cout << (Rus("\nОтсортированный массив B по не возрастанию\n"));
    out(B, m);
    const int d = 20;
    int C[d];
    for (int i = 0; i<m; i++)
    {
        C[i] = A[i];
        C[i + m] = B[i];
    }
    cout << (Rus("\nСлияние массива A и B в массив C\n\n"));
    out(C, d);
    cout << (Rus("\n Отсортированный массив C по не убыванию без повторяющихся элементов\n"));
    sortb(C, d);
    out(C, d);
    cout << "\n";
}
void init(int A[], int size)
{
    srand((unsigned)time(NULL));
    for (int i = 0; i < size; i++)
        A[i] = rand() % 100;
}
 
void out(int A[], int size)
{
    cout << "\n";
    for (int i = 0; i < size; i++)
        cout << A[i] << " ";
    cout << "\n";
}
void sortb(int B[], int size)
{
    int x, i, j;
    for (i = 0; i < size; i++)
    {
        x = B[i];
        for (j = i - 1; j >= 0 && B[j] < x; j--)
            B[j + 1] = B[j];
        B[j + 1] = x;
    }
}
char bufRus[256];
char*Rus(const char*text)
{
    CharToOemA(text, bufRus);
    return bufRus;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru