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

Объединение множеств. Некорректная обработка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск ошибки в fread http://www.cyberforum.ru/cpp-beginners/thread1193935.html
У меня возникла ошибка. Мне нужно прочесть данные с бинарных файлов. Бинарный файл "a.dat" содержит в себе числа '7 0 1 0 1 0 1 0 2 6 2', но по какой-то причине выводит только 7 символ, при попытки изменить fread(&d, sizeof(d), 1, f1); вылазит Stack around the variable 'd' was corrupted. #include <iostream> using namespace std; int main () { setlocale(LC_ALL, "RUS"); FILE *f1, *f2,...
C++ Команда cd Может написать код команды cd? Или написать такую же по функционалу? Нужно что бы работала в linux. http://www.cyberforum.ru/cpp-beginners/thread1193934.html
Как быстро вывести в консоль C++
Здравствуйте, у меня такой вопрос - у меня есть символьная (char) матрица 50х80, как мне её выводить в консоль, чтоб все строчки одновременно выводились, чтоб создавалось впечатление что кадры меняются (есть ли что то в windows.h, или по координатам?)
C++ Описать структуру с именем Price, содержащую следующие поля
Если у вас есть время, то можно еще построчно :-#include "stdafx.h" #include <iostream> #include <iterator> #include <cstddef> #include <string> using namespace std; struct price{ string tovar; string magaz;
C++ Исправить некорректность записи в файл http://www.cyberforum.ru/cpp-beginners/thread1193909.html
Добрый день,помогите наладить программу. Программа должна считать слово из файла, и скопировать его в другой файл начиная с 5 позиции. Вот код: #include "stdafx.h" #include <stdio.h> #include <iostream> #pragma warning (disable: 4996) char sPI = "\nvhodoi file:"; char sEI = "Oshibka otkritiya"; char sPO = "\nvihodnoi file"; char sEO = "\noshibka sozdaniya"; void main(){
C++ Удалить элементы в массиве с номера к1 по к2 Нужно удалить элементы в массиве с номера к1 по к2. Выдаёт кучу ошибок(( пишет, что не объявлены к1 и к2 и а. К тому же, я не уверена, что правильно написала условие для алгоритма remove. Помогите! #include <iostream> #include <algorithm> using namespace std; bool F(int k1,k2, a) { if((k1<a)&& (a<k2)); подробнее

Показать сообщение отдельно
gigder
 Аватар для gigder
3 / 3 / 0
Регистрация: 28.09.2012
Сообщений: 33
30.05.2014, 20:47     Объединение множеств. Некорректная обработка
Подскажите, пожалуйста, почему в 3-ий if не передается значения Set a, Set b


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
Set a; Set b; Set d; Set c;
       if(choice==1) //âûïîëГ*ГҐГ*ГЁГҐ âûáðГ*Г*Г*îé îïåðГ*öèè
                  {
                       a.Show(); 
                  }
          if(choice==2) { 
                       a.Enter(); 
                       a.Show(); 
                       int vibor=0;
                       cout<<"ГЌГ*æìèòå 1, ÷òîáû ГўГўГҐГ±ГІГЁ 2 Г¬Г*îæåñòâî"<<endl;
                       cin>>vibor;
                       if(vibor==1)
                       {
                       cout<< "Ââîä ГЁ âûâîä 2 Г¬Г*îæåñòâГ*"<<endl;
                       b.Enter();
                       b.Show();
                       }
                       getch();
                   } 
 
        if(choice==3) { 
                       cout<<"ÎáúåäèГ*ГҐГ*ГЁГҐ äâóõ Г¬Г*îæåñòâ: "<< endl;
                       d.Union(a, b);  
                       d.Show();
                       getch();  
                    } 
         if(choice==4)  
         { 
                       cout<<"Ïåðåñå÷åГ*ГЁГҐ äâóõ Г¬Г*îæåñòâ: "<< endl;
                       c.intersection(a, b);  
                       c.Show();
                       getch();

Сама фун-ия Union:

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
void Set::Union(Set a, Set b) 
{ 
    this->size = a.size + b.size;  
    this->array = new unsigned int[size];
    unsigned i, j, count = 0; 
    unsigned int n = a.size; 
    
 
    for ( i = 0; i < a.size; i++) 
        array[i] = a.array[i]; 
 
    for ( i = 0; i < b.size; i++) 
    { 
        for ( j = 0; j < a.size; j++) 
            if(b.array[i] == a.array[j]) 
                continue; 
            else 
                count++; 
        if(count == a.size) 
            array[n++] = b.array[i];  
        count = 0;
    } 
    size = n;
}
Добавлено через 1 час 13 минут
Блин, помогите, пожалуйста)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru