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

Ошибка при добавлении элемента в динамический массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сумма модулей http://www.cyberforum.ru/cpp-beginners/thread800299.html
Сумму модулей элементов массива, расположенных после мини-мального по модулю элемента.
C++ Функция для вывода массива Проблема с написанием функции для вывода массива. Ошибка error C2664: невозможно преобразовать параметр 1 из "int" в "int " фрагмент кода функции: void out(int A){ for (int i=0;i<a;i++) { cout<<A<<"\t"; } http://www.cyberforum.ru/cpp-beginners/thread800228.html
Задача C++
Шёл очередной контест Петрозаводских сборов. Игроки команды Psych Up быстро нашли простую задачу, и Федя сел за компьютер. Через пять минут решение было готово. Не тратя времени на тестирование, Федя отправил его на проверку и через несколько секунд получил вердикт Time Limit Exceeded. Федя скомкал условие задачи и вышел из класса, хлопнув дверью. Что-то шло не так, нужно было развеяться. По...
Вирус на с++ C++
Добрый день. Мне нужен любой вирус написаный на с++. Желательно не очень сложный. Что-то относительно легкое. Допустим бесконечное копирование папок или чтобы блокировал доступ куда либо. Ну или какой нибудь другой вирус. В принципе главное, чтобы приносил какой то вред, или мешал спокойно жить пользователю. Пожалуйста, очень нужно. Заранее большое спасибо.
C++ Создать массив. Вывести на дисплей значение и индекс второго четного элемента http://www.cyberforum.ru/cpp-beginners/thread800201.html
Помогите с задачкой такой: Организовать массив (n=8). Вывести на дисплей значение и индекс второго четного элемента. Нужен текст программки и блок схема. Спасибо заранее
C++ Получить матрицу, в которой элемент определяется как наибольшее значение из элементов исходной матрицы Получить матрицу B размером (NxN), в которой элемент (b)ij определяется как наибольшее значение из элементов исходной матрицы A, лежащих выше и правее элемента (a)ij. Выше и правее это понятно как. Допустим есть матрица 1 2 3 4 5 6 7 3 9 8 7 6 5 4 3 2 число 8, например, выше и правее это 3 4 7 8 как мне эти элементы найти, исходя из того, что они выше и правее числа 8. ... подробнее

Показать сообщение отдельно
AzgardC
7 / 7 / 0
Регистрация: 18.10.2012
Сообщений: 81
04.03.2013, 15:42     Ошибка при добавлении элемента в динамический массив
Всем привет! Создал класс для работы с дин.массивом. Нормально компилируется и выводит массив, но когда добавляю новый элемент, выдает ошибку. Подскажите, пожалуйста, в чем может быть проблема. Буду очень благодарен!
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
#include <conio.h>
#include <iostream>
#include <math.h>
#include <time.h>
using namespace std;
 
class massiv
{
private:
    int p;
    int max;
    int* mas;
 
public:
    massiv();
    massiv(int v);
    massiv(const massiv & a);
    ~massiv();
    void neo(int m[100], int Max); //запись массива
    void printmassiv(); //распечатка массива
    void dob(int ); //добавление элемента в конец массива
    void search(int ); //поиск элемента
    void swap(int , int ); //замена элемента 
    void del(int ); //удаление элемента
    
};
massiv::massiv()
{
    max=0;
    mas=new int[max];
}
 
massiv::massiv(int v)
{
    int i;
    max=v;
    mas=new int[max]; 
    for(i=0; i<max;++i)mas[i]=0;
}
 
massiv::massiv(const massiv & a)
{
    int i;
    max=a.max;
    mas=new int[max]; 
    for(i=0; i<max;++i)mas[i]=a.mas[i];
}
 
 
massiv::~massiv() 
{  
    delete [] mas;
}
 
 
 
void massiv::neo(int *m, int Max)
{
    int i;
    max=Max;
    for (int i = 0; i < max; i++) mas[i]=m[i];
}
 
void massiv::printmassiv()
{
    int i;
    for (int i=0; i<max; i++)cout<<mas[i]<<"\n";
}
 
void massiv::dob(int f)
{
    int i;
    int* o;
    o=new int[max];
    for (int i=0; i<max; i++)o[i]=mas[i];
    delete [] mas;
    mas=new int[max+1];
    for (int i=0; i<max; i++)mas[i]=o[i];
    mas[max]=f;
    max=max+1;
}
 
void massiv::search(int k)
{
    int i;
    for (int i=0; i<max; i++)if(mas[i]==k)
    {
        cout<<"Nomer elementa: "<<i+1<<"\n"; 
        break;
    };
}
 
void massiv::swap(int y, int u)
{
    mas[y-1]=u;
}
 
void massiv::del(int t)
{
    int i;
    for (int i=t-1; i<max-1; i++)mas[i]=mas[i+1];
    max=max-1;
}
 
int main()
{
    int Max, m[100], f, k, y, u, t;
    massiv M;
    int j;
    cout << "Vvedite razmer massiva: ";
    cin >> Max;
    cout << "Vvodite elementi massiva nazhimaya Enter: \n";
    for (j = 0; j<Max; ++j) cin >>m[j];
    M.neo(m,  Max);
    cout << "Vot ON!\n";
    M.printmassiv();
    cout << "\n";
    cout << "Vvedite celoe chislo kotoroe hotite dobavit': \n";
    cin >> f;
    M.dob(f);
    cout << "Vot ON!: \n";
    M.printmassiv();
    cout << "\n";
    cout << "Vvedite iskomoe chislo: \n";
    cin >> k;
    M.search(k);
    cout << "\n";
    cout << "Vvedite nomer elementa kotoriy hotite zamenit': \n";
    cin >> y;
    cout << "Vvedite noviy element: \n";
    cin >> u;
    M.swap(y, u);
    cout << "Vot ON!: \n";
    M.printmassiv();
    cout << "\n";
    cout << "Vvedite nomer elementa kotoriy hotite udalit': \n";
    cin >> t;
    M.del(t);
    cout << "Vot ON!: \n";
    M.printmassiv();
    cout << "\n";
    printf("\n Press any key: ");
    _getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru