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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ 10-тичное число словами на русском языке в 8-ми и 10-ной системах http://www.cyberforum.ru/cpp-beginners/thread251916.html
Добрый день всем. Подскажите как лучше решить задание, или может уже кто-то делал подобное: Задание: необходимо вывести введенное 10-тичное число словами на русском языке в 8-ми и 10-ной системах. Например. Вводим: 131 Выводим: сто тридцать один в десятичной системе; двести три в восьмеричной системе.
C++ как прогу заточить по MS Visual Studio 2010 В дев с++ этот код работает без проблем...как заточить его под MS visual studio 2010 #include <cstdlib> #include <iostream> #include "math.h" using namespace std; int main(int argc, char *argv) http://www.cyberforum.ru/cpp-beginners/thread251914.html
C++ работа с очередью
Нужно создать динамическую структуру очередь и найти определённое условие, мне вот выдаёт ошибку в этой строке (*pEnd).pPrior=pHelp; я что-то не так написал???? #include "stdafx.h" //#include <stdio.h> #include <conio.h> #include <math.h> struct stud { char fam,name,group;
C++ Все положительные элементы матрицы записать в один одномерный массив, а остальные в другой
дан двумерный массив размерностью Н, заполненный целыми числами, все его отрицательные элементы записать в одномерный массив, все его положительные записать в один одномерный массив, а остальные в другой. помогите
C++ дана строка подсчитать сколько в ней букв Р, к, т. http://www.cyberforum.ru/cpp-beginners/thread251901.html
дана строка подсчитать сколько в ней букв Р, к, т. помогите=)
C++ Неинициализированные локальные переменные Меня интересует как обходить данные ошибки. В чем соль ошибок? Проблема даже не в том что они есть, а то что компилятор останавливается и предлагает "продолжить" или "прервать" компиляцию, конечно если жать продолжить то программа выполняет код (в моём случае цикла) и выдаёт совершенно "не результат вычислений" а -1.#INFOO и -1.#INDOO что это означает?? 1>c:\documents and settings\admin\мои... подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
04.03.2011, 00:26     Не работает пара функций
Задание на композицию. В программе есть класс на 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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru