Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ksetrad
0 / 0 / 0
Регистрация: 19.02.2015
Сообщений: 2
#1

Windows инициировала точку останова при очистке динамической памяти - C++

19.03.2015, 20:18. Просмотров 251. Ответов 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
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <ctime>
 
using namespace std;
int fun(int a);
void arraying(int a, int arr[], int num);
void fun2(int arr[],int i);
 
int main(){
    srand(time(NULL));
    int n = rand()%20;int mark;
    int *arr = new int[];
 
    for (int i = 0; i <n;i++) 
    {arr[i]=rand(); cout<<"a["<<i<<"]="<<arr[i]<<endl;}
 
    int** dobarray = new int* [];
    cout<<dobarray<<"  adress 2-mernogo massiva"<<endl;
    for(int i = 0;i<n;i++){
        dobarray[i] = new int[];
        cout<<dobarray[i]<<"  adress 1-mernogo massiva"<<endl;
        mark=fun(arr[i]);
        arraying(arr[i], dobarray[i], mark);
        fun2(dobarray[i],mark);
        cout<<"old a ="<<arr[i]<<"new a =";
            for(int j = 0;j<mark;j++) cout<<dobarray[i][j];
        cout<<"\n";
    }
 
    for (int i = 0; i < n; i++) {
        
        delete []dobarray[i];
    }
    delete []dobarray;
    delete []arr;
    system("pause");
 
}
 
void arraying(int a, int arr[], int num){
    int i=0;int count = 10;
    cout<<"function arraying start a="<<a<<"num="<<num<<endl;
    cout <<sizeof arr[0]<<endl;
    while(i<num){
    arr[i]=a/pow((double)count,num-1-i);
    a=a-arr[i]*pow((double)count,num-1-i);i++;
    }
 
}
 
int fun(int a){
    int i=1;int c=10;
    cout<<"function start (fun)"<<endl;
    while (c>0){
        c=a/pow((double)10,i);i++;}
    cout<<"function (fun) end i ="<<i<<endl;
    return i-1;
}
 
void fun2(int arr[],int i){
 
    for (int j=0;j<i;j++)
    {if (arr[j]!=0) arr[j]--; else arr[j]=9;
    }}
на строчке delete []dobarray[i];(те что в цикле) начинаются "ошибки точки останова"(само собой программа сделала все что нужно), где я не туда залез?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2015, 20:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Windows инициировала точку останова при очистке динамической памяти (C++):

ОС Windows инициировала точку останова - C++
Здравствуйте, помогите устранить ошибку при выполнении программы #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include...

ОС Windows инициировала точку останова в программе - C++
Писал программу для нахождения минимального пути из точки start(Х) в точку finish(Y) путём обхода графа в ширину. Во время отладки...

ОС Windows инициировала точку останова в stroki.exe - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;string&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; using namespace std; int main() ...

ОС Windows инициировала точку останова в kursach.exe - C++
Доброго времени суток! Проблема распространенная конечно, но в этом разобраться ни я сам, не с помощью преподавателя почему то не...

Странная ошибка ОС Windows инициировала точку останова - C++
Что могло вызвать такую ошибку ? При нажатии кнопки продолжить программа успешно работает дальше :) При нажатии кнопки...

Ошибка компиляции:ОС Windows инициировала точку останова - C++
Доброго времени суток! Обращаюсь с наверняка очень распространенной проблемой. Суть задачи такова: Дан массив целых чисел. Назовем...

2
nonedark2008
1012 / 752 / 176
Регистрация: 28.07.2012
Сообщений: 2,091
19.03.2015, 20:21 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Ksetrad Посмотреть сообщение
int *arr = new int[];
Мне вот интересно, это массив какого размера? =/
1
Ksetrad
0 / 0 / 0
Регистрация: 19.02.2015
Сообщений: 2
19.03.2015, 20:25  [ТС] #3
ой я дурак(все заработало)) (интересно а как оно у меня вообще запустилось тогда?)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2015, 20:25
Привет! Вот еще темы с ответами:

Ошибка. ОС Windows инициировала точку останова в файле - C++
Доброго всем времени суток. Есть задание : Найти самое большое слово в файле и подсчитать количество таких слов. Собственно написал...

Ошибка при очистке памяти - C++
Есть часть когда в программе, должна сложить объекты, в которых находятся строки. Возникает ошибка при очистке памяти в ...

Выход за пределы массива при очистке памяти - C++
При попытке очистить память в конце функции вылетает ошибка HEAP CORRUPTION DETECTED. Не могу найти, где именно вылез за пределы массива. ...

Сортировка по возрастанию: ошибка "ОС Windows иницииализировала точку останова" - C++
Не знаю, в чем проблема. Написал такую программу #include &lt;stdio.h&gt; int n; int *a = new int; int T,i,s,count,k; int main() ...


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

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

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