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

Объединение и упорядочивание двух множеств - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получение объекта из множества http://www.cyberforum.ru/cpp-beginners/thread1011002.html
Здравствуйте! У меня есть класс с множеством class AutoShop { string name; string address; int amountCarsSold; double gainsMoney; set<Manager> managerSet; set<Client> clientSet;
C++ Разработать программу предназнченную для зашифровки текстов Разработать программу предназнченную для зашифровки текстов. Вывести на экран исходный текст и результат шифровки. Добавлено через 3 минуты И еще.... исходный текст и результат шифрования должны храниться в файлах... Плииизз!!! http://www.cyberforum.ru/cpp-beginners/thread1010997.html
Запутался в циклах C++
Вроде бы все сделал правильно но есть ошибка Заполняю массив рандомными числами потом скалдываю все числа массива и записую результат в одтельный массив и вывожу в мемо все нормально но есть 3 огромных числа которых не должно быть вот код 1ая {int i; for (i=0; i < 9; i++) { a=rand()%30-10; Memo1->Lines->Add(a); } }
Задача на сортировку массивов C++
Сформировать с помощью датчика случайных чисел в диапазоне два массива C и D, из 20 элементов целого типа каждый. Вывести их на экран. Отсортировать массивы C и D по возрастанию и сформировать из них массив E, таким образом, чтобы он также был отсортирован. Суть такова, что я понял как сортировать 2 массива - сравнивать C и D и тот, который меньше, заносить в E, но не могу сообразить что...
C++ сумма соответствующих элементов массивов http://www.cyberforum.ru/cpp-beginners/thread1010987.html
даны два массива из n элементов, создать третий массив, из суммы соответствующих элементов первых 2х массивов. Использовать функцию. Элементы массива вводить с клавиатуры. Помогите!
C++ сумма соответствующих элементов массива даны два массива из n элементов, создать третий массив, из суммы соответствующих элементов первых 2х массивов. Использовать функцию. Элементы массива вводить с клавиатуры. Помогите! подробнее

Показать сообщение отдельно
SamLokers
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 52
18.11.2013, 17:34     Объединение и упорядочивание двух множеств
Пожалуйста помогите исправить код программы, он в некоторых случаях работает не верно. Очень срочно!!!

Пусть заданы два множества А и В в виде неупорядоченных числовых последовательностей. Создать программу, которая упорядочивает существующие множества и определяет объединения двух множеств порядка 7 и 12.

Код программы

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
 
string s = "D:/results.txt";
class elem{
public:
    int i;
    elem *pN;
};
 
class list{
    elem *a;
 
    elem *pa;
    elem *pb;
    elem *c;
    elem *e;
    elem *p;
    int d;
public:
    list(){
        a = nullptr;
 
    }
    ~list(){}
    void addElement(int i){
        if (a != nullptr)
        {
            elem *cur = new elem;
            cur = a;
            while (cur->pN != nullptr)
            {
                cur = cur->pN;
            }
            elem *ne = new elem;
            ne->i = i;
            ne->pN = nullptr;
            cur->pN = ne;
 
        }
        else
        {
            elem *ne = new elem;
            ne->i = i;
            ne->pN = nullptr;
            a = ne;
        }
    }
    void getList(ofstream &f, string mess){
        f.open(s, ios::app);
        if (f.fail()){
            cout << "\n Помилка відкриття файлу";
        }
        if (a != nullptr)
        {
            elem *cur = new elem;
            cur = a;
            f << mess << endl;;
            f << "\n==============================================================================\n";
            while (cur != nullptr)
            {
                f << "|" << cur->i << "| ";
                cur = cur->pN;
            }
            f << "\n==============================================================================\n";
        }
        f.close();
    }
    void Append(int d){
        elem *q = new elem;
        q->i = d;
        q->pN = nullptr;
        if (c == nullptr)
            c = q;
        else
            e->pN = q;
        e = q;
    }
 
    list intersection(list b, list newl)
    {
        pa = a;
        pb = b.a;
        c = nullptr;
        e = nullptr;
        while ((pa != nullptr) && (pb != nullptr)){
            if (pa->i < pb->i){
                d = pa->i;
                pa = pa->pN;
            }
            else if (pa->i > pb->i)
            {
                d = pb->i;
                pb = pb->pN;
            }
            else {
                d = pa->i;
                pa = pa->pN;
                pb = pb->pN;
            }
            newl.addElement(d);
        }
        p = nullptr;
        if (pa != nullptr) {
            p = pa;
        }
        if (pb != nullptr) {
            p = pb;
        }
        while (p != nullptr) {
            newl.addElement(p->i);
            p = p->pN;
        }
        return newl;
    }
 
};
 
int main()
{
    setlocale(LC_ALL, "Rus");
    ofstream ofs(s);
    ofs.close();
    const int n = 7;
    list a;
    cout << "Введiть " << n << " елементiв\n";
    for (int i = 0; i < n; i++)
    {
        int s;
        cin >> s;
        a.addElement(s);
    }
    list b;
    cout << "Введiть " << n + 5 << " елементiв\n";
    for (int i = 0; i < n + 5; i++)
    {
        int s;
        cin >> s;
        b.addElement(s);
    }
    list c;
    a.getList(ofs, "Список А");
    b.getList(ofs, "Список Б");
    c = a.intersection(b, c);
    c.getList(ofs, "Результат об'єднання ");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru