Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1184 / 540 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
1

Не работает пара функций

04.03.2011, 00:26. Просмотров 589. Ответов 4
Метки нет (Все метки)

Задание на композицию. В программе есть класс на 100 Int элементов (множество 0 и 1), есть куча функций для работы с ними. Так вот всё работает кроме функции intersectionOfSets и UnionOfSets. У них у обоих похожий принцип так что ошибка у меня наверное взаимосвязанная.
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
# include <iostream>
# include <iomanip>
using namespace std;
 
class IntegerSet
{
public:
    IntegerSet()
    {
        for (int i=0;i<100;i++)
         a[i]=0;
    };
 
    IntegerSet(int abc[100])
    {
        for (int i=0;i<100;i++)
         a[i]=abc[i];
    }
    int a[100];//элементы множества
};
 
void UnionOfSets(IntegerSet x, IntegerSet y, IntegerSet z) //НЕ РАБОТАЕТ! объеденение множеств x и y
{
    for (int i=0;i<100;i++)
    {
        if (x.a[i] || y.a[i])
         z.a[i]=1;
    }
}
 
void InsertElement(IntegerSet x,int b) // вставка элемента в заданную позицию
{
    if ((b>=0) && (b<100))
     x.a[b]=1;
}
 
void deleteElement(IntegerSet x, int b) //удаление (установка в 0) заданного элемента
{
    if ((b>=0)&& (b<100))
     x.a[b]=0;
}
 
void intersectionOfSets(IntegerSet x, IntegerSet y, IntegerSet z) // НЕ РАБОТАЕТ! пересечение множеств x и y
{
    for (int i=0;i<100;i++)
    {
        if (x.a[i]==y.a[i])
         if (x.a[i]==1)
          z.a[i]=1;
    }
}
 
void printSet(IntegerSet x) //печать множества
{
    int flag=0;
    for (int i=0;i<100;i++)
     if (x.a[i]==1)
      flag=1;
    if (flag) // если не пустое множество то печать
     for (int j=0;j<100;j++)
     {
         cout<<x.a[j]<<" ";
         if ((j+1)%20==0)
          cout<<"\n";
     }
    else
     cout<<"---";
    cout<<"\n";
}
 
bool isEqualTo(IntegerSet x, IntegerSet y) // проверка равенства множеств
{
    for (int i=0;i<100;i++)
     if (x.a[i]==y.a[i]);
      else return 0;
    return 1;
}
 
 
int main()
{
    int n [100];
    int p [100];
    for (int i=0;i<100;i++)
    {
        n[i]=rand()%2;
        p[i]=rand()%2;
    }
    IntegerSet a1(n);
    IntegerSet a2(p);
    IntegerSet a3;
    cout<<"A1:\n";
    printSet(a1);
    cout<<"A2:\n";
    printSet(a2);
    cout<<"A3:\n";
    printSet(a3);
    cout<<"A2=A3 -"<<boolalpha<<isEqualTo(a2,a3);
    UnionOfSets(a1,a2,a3);
    cout<<"\nNow A3:\n";
    printSet(a3);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2011, 00:26
Ответы с готовыми решениями:

c++ перегрузка функций и еще пара просьб
Доброй ночи! вот имеется код с классом объектом которого является комплексное число. класс нужно...

Пара слов о реализации шаблонных функций
Подскажите, я пытаюсь сделать реализацию шаблонных методов в отдельном cpp файле, но не получатеся,...

Пара функций
1.На входе рациональное число, длина окружности, а на выходе площадь круга ограниченная этой...

Пара загадочных функций в потоках
atomic_compare_and_exchange_bool_acq ((struct pthread **) arg,NULL,THREAD_SELF); __free_tcb() ...

4
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
04.03.2011, 03:10 2
объединение z.a[i] = x.a[i] | y.a[i];
пересечение z.a[i] = x.a[i] == y.a[i];

1 1 0 1
0 1 0 1
объединение 1 1 0 1
пересечение 0 1 1 1
0
1184 / 540 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
04.03.2011, 09:32  [ТС] 3
Не работают в смысле что потом при печати z оно печатается как пустое множество, не пойму почему.
0
289 / 149 / 34
Регистрация: 13.10.2009
Сообщений: 164
04.03.2011, 10:10 4
C++
1
2
void UnionOfSets(IntegerSet x, IntegerSet y, IntegerSet &z)
void intersectionOfSets(IntegerSet x, IntegerSet y, IntegerSet &z)
А так должно работать
1
1184 / 540 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
04.03.2011, 12:19  [ТС] 5
DexterUa, точно! Это же копия z передавалась и редактировалась, я об этом вчера забыл.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2011, 12:19

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Notice: Undefined index и пара ORA при привязке функций к базе данных
Всем привет! Небольшая проблема. Написал код для базы данных...но не могу понять почему возникают...

Нестабильно работает компьютер+пара БСОДов
Доброго времени суток. Помогите определить неисправность пожалуйста- комп- AMD Phenom II X4...

Не работает ''Пуск'', при открытии папки начинается подвисание, не отображается пара значков на панели задач
Доброго времени суток! У меня несколько проблем с Window 10. У меня не работает ''Пуск''....

Saeco Incanto-слабый напор воды и пара, слабое давление воды и пара
Есть кофемашина,с одним G-бойлером,кофе готовит,бойлер чистый,кран подачи пара чистый,но проблема с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.