Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
1

Динамический массив выдаёт ошибку

14.09.2013, 18:54. Просмотров 482. Ответов 13
Метки нет (Все метки)

Вообщем там прикреплён файл, там вся прога т.к. код сюда писать объёмно. СЛожного по иддее ничего, учусь работать с динамичекскими массивами, вроде всё норм, компилирует, и результат выдаёт, но после этого какая-то ошибка наподобии обращения к несуществующему элементу массива....
0
Вложения
Тип файла: rar phone.rar (220.5 Кб, 5 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 18:54
Ответы с готовыми решениями:

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include <iostream> #include <iomanip> #include <cmath> using namespace std;...

Динамический массив на C++(исправить ошибку)
Заменить наименьшие элементы в массиве на среднее арифметическое его значений....

Динамический массив, исправить ошибку
Здравствуйте, помогите найти ошибку: Все четные элементы целочисленного...

Динамический массив (найти ошибку)
Здравствуйте уважаемые знатоки!) В общем программирую я не так давно и взялся...

Динамический массив - найти ошибку в коде
#include "stdafx.h" #include "iostream" #include "time.h" #include...

13
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.09.2013, 20:03 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
#include "NewNumber.h"
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <iomanip>
 
using namespace std;
NewNumber::NewNumber(int a)
//NewNumber::int arrayNum = new int[10];
{
    arrayNum = new int[a];
    
    //void print(int a);
    NewNumber::fillNumber(a);
    NewNumber::print(a);
    
}
 
void NewNumber::print(int a)
{
    cout<<a<<endl;
    for (int i=0;i<a;i++)
    cout<<right<<setw(3)<< i + 1 <<") "<<arrayNum[i]<<"\n"<<endl;
}
 
void NewNumber::fillNumber(int a)
{
srand(time(NULL));
for (int i=0;i<a;i++)
arrayNum[i]=(1+rand()%99);
}
 
NewNumber::~NewNumber()
{
    delete [] arrayNum;//dtor
}
1
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
15.09.2013, 10:30  [ТС] 3
а...всё спасибо понял в чём ошибся....))

Добавлено через 10 часов 34 минуты
Другой вопрос, а можно ли сделать этот динамический массив статическим? или это само по себе невозможно?
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 10:58 4
Цитата Сообщение от dzrkot Посмотреть сообщение
Другой вопрос, а можно ли сделать этот динамический массив статическим? или это само по себе невозможно?
Из динамического сделать статический? Просто статический можно, но только не в конструкторе.
1
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
15.09.2013, 11:03  [ТС] 5
в хедере я дописываю пере массивом static, в потом в срр я инициализирую сам массив, но это проходило для обычных массивов, а для этого так не получается...
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 11:11 6
Цитата Сообщение от dzrkot Посмотреть сообщение
а для этого так не получается...
Для какого "этого"? Вы что-то там делаете, а потом спришиваете: почему не получается. Ясновидящих тут нет. Хотите получить ответ - покажите код и по нему задайте вопрос.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
15.09.2013, 11:16  [ТС] 7
код вы сами приводили выше, и весь файл прикреплён...
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
#include "NewNumber.h"
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <iomanip>
 
using namespace std;
NewNumber::NewNumber(int a)
 
{
    arrayNum = new int[a];   
    void print(int a);
    NewNumber::fillNumber(a);
    NewNumber::print(a);
    
}
 
void NewNumber::print(int a)
{
    cout<<a<<endl;
    for (int i=0;i<a;i++)
    cout<<right<<setw(3)<< i + 1 <<") "<<arrayNum[i]<<"\n"<<endl;
}
 
void NewNumber::fillNumber(int a)
{
srand(time(NULL));
for (int i=0;i<a;i++)
arrayNum[i]=(1+rand()%99);
}
 
NewNumber::~NewNumber()
{
    delete [] arrayNum;//dtor
}
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 11:25 8
Цитата Сообщение от dzrkot Посмотреть сообщение
код вы сами приводили выше, и весь файл прикреплён...
Там это есть?
Цитата Сообщение от dzrkot Посмотреть сообщение
в хедере я дописываю пере массивом static, в потом в срр я инициализирую сам массив,
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
15.09.2013, 11:28  [ТС] 9
Что вы от меня сейчас хотите? мне выложить код хедера с припиской static? Я в этом не видел необходимости, т.к. думал что необходимо в срр дописать одну строчку инициализации, чтобы он работал.
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 11:29 10
Цитата Сообщение от dzrkot Посмотреть сообщение
Я в этом не видел необходимости, т.к. думал что необходимо в срр дописать одну строчку инициализации, чтобы он работал.
Продолжнайте думать дальше.
0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
15.09.2013, 11:31  [ТС] 11
Большое спасибо за сарказм.
0
alsav22
15.09.2013, 11:33
  #12

Не по теме:

Цитата Сообщение от dzrkot Посмотреть сообщение
Большое спасибо за сарказм.
Обращайтесь ещё. Приятно с такими работать...

0
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
15.09.2013, 11:35  [ТС] 13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef NEWNUMBER_H
#define NEWNUMBER_H
 
 
class NewNumber
{
    public:
        NewNumber(int);
        void print (int);
        void fillNumber(int);
 
    virtual ~NewNumber();
    protected:
    private:
    static unsigned long *arrayNum;
};
 
#endif // NEWNUMBER_H

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
#include "NewNumber.h"
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <iomanip>
 
using namespace std;
 
//unsigned long NewNumber::arrayNum .....не знаю как его правильно инициализировать....
 
NewNumber::NewNumber(int a)
{
    arrayNum = new unsigned long[a];
    void print(int a);
    NewNumber::fillNumber(a);
    NewNumber::print(a);
 
}
 
void NewNumber::print(int a)
{
    cout<<a<<endl;
    for (int i=0;i<a;i++)
    cout<<right<<setw(3)<< i + 1 <<") "<<arrayNum[i]<<"\n"<<endl;
}
 
void NewNumber::fillNumber(int a)
{
srand(time(NULL));
for (int i=0;i<a;i++)
arrayNum[i]=(999999999+rand()%9999999999);
}
 
NewNumber::~NewNumber()
{
    delete []arrayNum;//dtor
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <windows.h>
#include "NewNumber.h"
#include <stdlib.h>
#include <ctime>
 
using namespace std;
 
 
int main()
{
    srand(time(NULL));
    int number;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите количество номеров телефонов"<<endl;
    cin>>number;
    NewNumber myPhone(number);
    return 0;
}
Следующий напишет что-то типа , "зачем выкладывать ради этого весь код".
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 12:03 14
C++
1
unsigned long *NewNumber::arrayNum = NULL; //.....не знаю как его правильно инициализировать....
1
15.09.2013, 12:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 12:03

Двумерный динамический массив - найти ошибку в коде
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class Matrix...

Двумерный динамический массив - найти ошибку в коде
Кто мне может объяснить почему не работает вариант, когда мы выносим весь...

Двумерный динамический массив - найти ошибку в коде
пишу код: int **array; cout &lt;&lt; &quot;Size: &quot;; int n; cin &gt;&gt; n; array = new int...


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

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

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