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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Gruba
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 7
#1

Необработанное исключение в "0x013f2b22" в "123.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd" - C++

11.09.2013, 21:46. Просмотров 1163. Ответов 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
#pragma once
#include <iostream>
using namespace std;
int **DeleteIndexCol(int **ar,int s1,int &s2,int n)
{
    
    int **big=new int *[s2-1];
 
    for (int i=0;i<(s2-1);i++)
        big[i]=new int[s1];
    
        for(int i=0;i<s1;i++)
        for(int j=0;j<n-1;j++)
            big[i][j]=ar[i][j];
 
    
 
    for(int i=0;i<s1;i++)
        for(int j=n;j<s2;j++)
        big[i][j-1]=ar[i][j];
    
    for(int i=0;i<s1;i++)
        delete []ar[i];
        delete []ar;
    
    s2--;
    return big;
}
На этапе выполнения выдаётся ошибка (шапка темы) на строчке "big[i][j]=ar[i][j];". Есть такая же функция, но по удалению строк, там всё работает. В чём может быть проблема?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 21:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Необработанное исключение в "0x013f2b22" в "123.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd" (C++):

Необработанное исключение в "0x01082855" в "sort.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc" - C++
Всем привет! помогите мне понять в чём дело. написал программу: #include &quot;stdafx.h&quot; #include &lt;ctime&gt; #include &lt;iostream&gt; #include...

Необработанное исключение в "0x54a2d2e9 (msvcr100d.dll)" в "3.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc". - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;string&gt; #include&lt;stdlib.h&gt; using namespace std; class Goods { char* name; ...

Необработанное исключение в "0x776315de" в "c++1.exe": 0xC0000005: Нарушение прав доступа при записи "0x40e000 - C++
Здравствуйте. Только начал работать с динамическим массивом, но не могу понять почему появляется эта ошибка. Работаю с библиотекой sfml....

Необработанное исключение в "0x104b2288" в "Matrix.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcd - C++
Вот такая ошибка!

Необработанное исключение в "0x00414558" в "467.exe": 0xC0000005: Нарушение прав доступа при чтении "0xabababbb" - C++
При выполнении этого кода #include &lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int main () { int x; unsigned int...

Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". - C++
вылезает ошибка Необработанное исключение в &quot;0x775e15de&quot; в &quot;laba3.exe&quot;: 0xC0000005: Нарушение прав доступа при чтении &quot;0xfdfdfdf9&quot;. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
12.09.2013, 09:28 #2
скорее всего происходит запись в память за массивом
1
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
12.09.2013, 10:32 #3
отловите значения i и j на момент ошибки и пронанализируйте ситуацию
1
Gruba
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 7
12.09.2013, 17:44  [ТС] #4
если массив 5 на 5, то на момент ошибки i=4, j=0, а если массив 3 на 3, то i=2, j=0. То есть последний элемент первого столбца. Просто странно, вот код функции, в которой удаляется строка, там всё работает:
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
#pragma once
#include <iostream>
using namespace std;
int **DeleteIndexRow(int **ar,int &s1,int s2,int nomer_stroki)
{
    
    int **big=new int *[s1-1];
 
    for (int i=0;i<(s1-1);i++)
        big[i]=new int[s2];
    
        for(int i=0;i<nomer_stroki-1;i++)
        for(int j=0;j<s2;j++)
        big[i][j]=ar[i][j];
 
    
 
    for(int i=nomer_stroki;i<s1;i++)
        for(int j=0;j<s2;j++)
        big[i-1][j]=ar[i][j];
    
    for(int i=0;i<s1;i++)
        delete []ar[i];
        delete []ar;
    
    s1--;
    return big;
}
Добавлено через 2 минуты
Цитата Сообщение от ___ Посмотреть сообщение
скорее всего происходит запись в память за массивом
а можно поподробнее, и как это исправить?
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
12.09.2013, 19:03 #5
Цитата Сообщение от Gruba Посмотреть сообщение
а можно поподробнее, и как это исправить?
я не знаю как это исправить
1
Gruba
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 7
12.09.2013, 19:06  [ТС] #6
Цитата Сообщение от ___ Посмотреть сообщение
я не знаю как это исправить
Эх, жаль...
0
Ab
75 / 75 / 1
Регистрация: 03.05.2012
Сообщений: 161
12.09.2013, 19:52 #7
Цитата Сообщение от Gruba Посмотреть сообщение
если массив 5 на 5, то на момент ошибки i=4, j=0, а если массив 3 на 3, то i=2, j=0
Так ясно же всё, если внимательно на этот кусок кода посмотреть:
C++
1
2
3
4
5
for (int i=0;i<(s2-1);i++)
  big[i]=new int[s1];
for (int i=0;i<s1;i++)
  for (int j=0;j<n-1;j++)
    big[i][j]=ar[i][j];
Если s1=s2=5, то в первом for индекс меняется от 0 до 3, а во втором for при i=4 будет обращение в никуда.
2
Gruba
0 / 0 / 0
Регистрация: 12.07.2013
Сообщений: 7
12.09.2013, 20:11  [ТС] #8
Цитата Сообщение от Ab Посмотреть сообщение
Так ясно же всё, если внимательно на этот кусок кода посмотреть:
C++
1
2
3
4
5
for (int i=0;i<(s2-1);i++)
  big[i]=new int[s1];
for (int i=0;i<s1;i++)
  for (int j=0;j<n-1;j++)
    big[i][j]=ar[i][j];
Если s1=s2=5, то в первом for индекс меняется от 0 до 3, а во втором for при i=4 будет обращение в никуда.
огромное спасибо! куда глаза мои всё это время смотрели?!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 20:11
Привет! Вот еще темы с ответами:

Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000" - C++
#include &lt;windows.h&gt; #include &lt;d3d9.h&gt; LRESULT __stdcall WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); struct...

Необработанное исключение в "0x00412b4a" в "kursovik.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000004". - C++
Программа компилируется нормально но потом на строчке MoveToEx(hdc,Mas.a]-&gt;x*20,Mas.a]-&gt;y*20,0); выдаёт ошибку Помогите пожалуйста...

Ошибка Необработанное исключение в "0x001d18f8" в "lr7v2.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcde9" - C++
class Hdd { public: char Hdd_name; int total_space; int free_space; int speed; Hdd *next; Hdd *previous; };

Необработанное исключение в "0x1027c9c7 (msvcr100d.dll)" в "gh.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfeeefeee". - C++
// gh.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.09.2013, 20:11
Ответ Создать тему
Опции темы

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