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

Проблемка с указателями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить класс, объектами которого являются подмножества фиксированного множества целых чисел http://www.cyberforum.ru/cpp-beginners/thread527175.html
Определить класс, объектами которого являются подмножества фиксированного множества целых чисел. Это фиксированное множество определяется как статический массив. Конструктор строит подмножество с помощью массива целых чисел, составляющих подмножество. Перегрузить операцию ++ для перебора подмножеств. Применить для перебора подмножеств множества {1,2,…,100}, содержащих, по крайней мере, одно...
C++ Копирование содержимого одной строки во вторую Напишите программу, копирующую содержание одной строки во вторую. http://www.cyberforum.ru/cpp-beginners/thread527170.html
Препроцессор неправильно интерпретирует команды #if #else C++
#define __LINUX_OS__ #if defined__LINUX_OS__ #include <unistd.h> #elif defined __WINDOWS_OS__ #include <windows.h> #else #error "cross_platform_func.cpp defined only for LINUX OR WINDOWS" #endif
время за которое сортируется массив C++
Подскажите как узнать время за которое отсортировался массив (mas) Внизу программы где используется InsertSort и массив уходит на сортировку(чтобы после в консоле вывелось на экран время сортировки) using namespace std; const int MAX=1000; //////////////////////////////////////////////////////////////////////////////// void insertSort(int* a, int size) { int i, j, tmp;
C++ Простые массивы - найти произведение чисел http://www.cyberforum.ru/cpp-beginners/thread527151.html
b. В массиве t найти произведение чисел, значение которых находится в интервале и среднее арифметическое чисел, значение которых кратно 5. Заполнение массива производить из окна Memo. c. Все положительные числа, записанные в ячейках с нечётными номерами, перепи-сать из массива a в массив b. Инициализировать исходный массив при его описании в программе. Предусмотреть вывод элементов обоих...
C++ Вычислить значения функции. Программирование разветвляющегося вычислительного процесса. Помогите сделать лабу по информатике по теме ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩЕГОСЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА подробнее

Показать сообщение отдельно
ndrew
0 / 0 / 0
Регистрация: 24.03.2012
Сообщений: 7
24.03.2012, 21:30     Проблемка с указателями
Нужно перегрузить "+" чтобы он делал слияние 2ух массивов(элементы не повторялись)
вот код:

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
#include <iostream.h>
#include <stdio.h>
class mas
{int n,*a;
 public:
    mas();
    ~mas();
    void input(int);
    void output();
    mas* operator +(mas);
};
mas::mas()
{n=0;
}
mas::~mas()
{delete []a;}
void mas::input(int f)
{n=f;
 a=new int[n];
 for (int *i=a;i<a+n;i++)
    cin>>*i;
}
void mas::output()
{for (int *i=a;i<a+n;i++)
   cout<<*i<<' ';
}
mas* mas::operator +(mas A)
{int t=0,*j,*i;
 mas *C;
    t=n+A.n;
    C->a=new int[t];
    for (i=a;i<a+n;i++)
    {for (j=A.a;j<A.a+A.n;j++)
          if (*i==*j) break;
          if (j<A.a+A.n) continue;
          for (j=C->a;j<C->a+C->n;j++)
               if (*i==*j) break;
          if (j==C->a+C->n)
               {*j=*i;
           C->n++;
                }
     }
for (j=A.a;j<A.a+A.n;j++)
   {i=C->a;
     *i=*j;
      C->n++;
    }
return C;
}
void main()
{mas AA,BB;
 mas*CC;
 int n,m;
 cout<<"kol-vo elem mas 1";
 cin>>n;
 cout<<endl<<"vvod elementov";
 AA.input(n);
 cout<<"kol-vo elem mas 2";
 cin>>m;
 cout<<endl<<"vvod elementov";
 BB.input(m);
 AA.output();
 cout<<endl;
 BB.output();
 CC=AA+BB;
 CC->output();
 cout<<endl;
}
ошибку выдает в выделении памяти под объект C:
C->a=new int[t];
скорее всего это как-то связано со стрелкой..
Ошибка:Project Project1.exe raised exeption class EAccessViolation with message 'Access violation at adress 00401749'.Write of address 00000004'.
Подскажите как исправить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru