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

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

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

Повреждение кучи - C++

24.12.2012, 02:25. Просмотров 331. Ответов 0
Метки нет (Все метки)

После компиляции, вылетает такая ошибка:

ОС Windows инициировала точку останова в sem7.4.exe.
Это может быть вызвано повреждением кучи и указывает на ошибку в sem7.4.exe или в одной из загруженных им DLL.
Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит sem7.4.exe
Выведенное на экран окно содержит дополнительные данные для диагностики ошибки

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

Заранее, благодарю.

В файле квадратная матрица 4x4:

1 2 3 4
5 6 7 8
9 3 5 1
2 4 9 3

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
#include <iostream>
#include <fstream>
using namespace std;
 
 
void sdvig(int **spiral,int N);
 
int main()
{
int  Step,N;
        int i,j,c;
        cout<<"Number of element? N=";
        cin>>N;
 
 
        int **spiral=new int *[N];
 
            for (int i=0; i<N; i++)
                spiral[i]=new int[N];   
        
            ifstream in("m:\\1.txt");
 
    
        for (i=0; i<N; i++)
        {
            for(j=0;j<N;j++)
            {
                in>>spiral[i][j];
                cout<<" "<<spiral[i][j];
            }
                cout<<endl;
            
                
        }
 
sdvig(spiral,N);
 
system("pause");
 
return 0;
 
}
 
void sdvig(int **spiral,int N)
{
    int i,j,k,edge,Step,c;
    int *cur=new int [N];
    int *shift=new int [N];
    
    cout<<endl<<"How many steps to turn? Step = ";
        cin>>Step;
        
        for(k=0; k<N/2;k++) 
        {       edge = N-1-k;
                
    
        c=0;
        for(j=k;j<edge;j++)             
                {      cur[c]=spiral[k][j];
                        c++;
                }
                for(i=k;i<edge;i++)             
                {      cur[c] = spiral[i][edge];
                        c++;
                }
                for(j=edge;j>=k;j--)    
                {      cur[c] = spiral[edge][j];
                        c++;
                }
                for(i=edge-1;i>k;i--)             
                {       cur[c] = spiral[i][k];
                        c++;
                }
 
        for(i=0;i<4*(N-2*k-1);i++)
            shift[(i+Step)%(4*(N-2*k-1))]=cur[i];
         
        c=0;
        for(j=k;j<edge;j++)             
                {   spiral[k][j] = shift[c];   
                    c++;
                }
                for(i=k;i<edge;i++)             
                {    spiral[i][edge]= shift[c];
                        c++;
                }
                for(j=edge;j>=k;j--)    
                {    spiral[edge][j]= shift[c];
                        c++;
                }
                for(i=edge-1;i>k;i--)             
                {     spiral[i][k]= shift[c];
                        c++;
                }
        }
      
 
        cout<<"Result:"<<endl;
        for(i=0;i<N;i++)
        {       for(j=0;j<N;j++) 
                    cout<<" "<<spiral[i][j];
                cout<<endl;
        }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 02:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Повреждение кучи (C++):

Повреждение кучи - C++
#ifndef _TASK2_H_ #define _TASK2_H_ #include &lt;iostream&gt; using namespace std; namespace TeamResult { static int...

Повреждение кучи - C++
Приветствую! Сделал, казалось бы, простую программу, но у меня возникает ошибка на самом ровном месте: void print(node** graph, int V) ...

Повреждение кучи - C++
После выполнения программы выдаёт ошибку Debug Assertion Failed Помогите найти и исправить место из-за которого ошибка, я так понимаю она...

Повреждение кучи - C++
Есть код #include &lt;iostream&gt; using namespace std; struct STUDENT { char NAME; int GROUP; int SES; };

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

МНК, повреждение кучи - C++
Аппроксимация методом наименьших квадратов.. Если не использовать динамическую память, все работает замечательно.. Если описывать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2012, 02:25
Привет! Вот еще темы с ответами:

Странное повреждение кучи - C++
Доброго времени суток, форумчане! Есть проект, в нем реализована функцию дублирования всех элементов статического массива с...

Точка останова(повреждение кучи) - C++
Прошу помочь, смотрел по форуму похожие темы - ответа не нашел void Base::Read() { char* name=new char;//переменная для имени ...

C++ delete[] точка останова/повреждение кучи - C++
Добрый день. Подскажите, пожалуйста. Вот код функции: void interpol(point* a, int n, int k, point* y, int inter) //a-original ...

Повреждение кучи при создании нейросети с количеством слоев больше 51 - C++
Добрый день. Я знаю, таких тем уже много, я их прочитала, но ни в одной не нашла решения моей проблемы. Проблема. Есть нейронная сеть...


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

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

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