Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 5.00
VitalyS
0 / 0 / 0
Регистрация: 27.06.2015
#1

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

04.10.2012, 18:13. Просмотров 3782. Ответов 12
Метки нет (Все метки)

При выполнении этого кода
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
#include <iostream>
#include<conio.h>
 
using namespace std;
 
int main () {
    int x;
    unsigned int z, y;
    cin>>z>>y;
    int **a=new int*[z];
    for (int i=0; i<z; i++)
        a[i]=new int[y];
    
    for (int i=0; i<z; i++)
        for (int j=0; j<y; j++)
            cin>>a[i][j];
    
    for (int i=0; i<z; i++){
        for (int j=0; j<y; j++)
            if ((i+j)<z)
            {
                x=a[i][j];
                a[i][j]=a[z-1-j][y-1-i];
                a[z-1-j][y-1-i]=x;
                
            }}
 
    for (int i=0; i<z; i++)
    {
        for (int j=0; j<y; j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
    }
    for (int i=0;i<z;i++)
        delete [] a[i];
    delete [] a;
    getch();
    return 0;
}
Выдает следующую ошибку:Необработанное исключение в "0x00414558" в "467.exe": 0xC0000005: Нарушение прав доступа при чтении "0xabababbb".
Подскажите, с чем это может быть связано?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 18:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Необработанное исключение в "0x00414558" в "467.exe": 0xC0000005: Нарушение прав доступа при чтении "0xabababbb" (C++):

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

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

Необработанное исключение в "0x00412b4a" в "kursovik.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000004".
Программа компилируется нормально но потом на строчке...

Необработанное исключение в "0x0fc1d484 (msvcr100d.dll)" в "1.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00aee0af"
помогите разобраться в чем ошибка? необходимо, чтобы ввод массива...

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64"
доброго времени суток. Необработанное исключение в &quot;0x76f015de&quot; в &quot;контрольная...

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

12
BumerangSP
4287 / 1409 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
04.10.2012, 18:17 #2
C++
1
2
3
4
5
6
if ((i+j)<4)
            {
                x=a[i][j];
                a[i][j]=a[4-j][4-i];
                a[4-j][4-i]=x;        
            }
Очевидно, что вначале 0+0<4, а 4-j и 4-i - это выход за пределы диапазона.
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
04.10.2012, 18:18 #3
Выход за пределы массива. Вот здесь:

Цитата Сообщение от Vitalys Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
for (int i=0; i<z; i++){
* * * * for (int j=0; j<y; j++)
* * * * * * if ((i+j)<4)
* * * * * * {
* * * * * * * * x=a[i][j];
* * * * * * * * a[i][j]=a[4-j][4-i];
* * * * * * * * a[4-j][4-i]=x;
}}
0
Кот Ангенс
318 / 268 / 128
Регистрация: 24.05.2012
Сообщений: 629
04.10.2012, 18:21 #4
Цитата Сообщение от Vitalys Посмотреть сообщение
a[4-j][4-i]=x;
Скорее всего, здесь. Выход за границы массива.
0
MeDVeDxf
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 5
07.02.2013, 12:55 #5
Вставить ник
Новенький


Репутация: 0

Предупреждения:
(0%)
«— информация —»

Господа, очень нужна помощь.
создаю объекты типа пользовательского класса и добавляю их в контейнер "vector". При вызове функции вывода коллекции на экран выходит ошибка:
Необработанное исключение в "0x011f5566" в "Kursovoy.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcccccccc".
Вот собственно описание функции вывода коллекции на экран:
C++
1
2
3
4
5
6
7
8
9
10
void Viewer()
{
    if(collection->size()==0) cout<<"Список пуст"<<endl;
    for (it=collection->begin(); it!=collection->end(); it++)
    {
        
        (*it)->show();
        cout<<endl<<endl;
    }
}
Студия при выводе ошибки указывает на строку -
(*it)->show();

Никак не могу понять где ошибка. Помогите пожалуйста.
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
07.02.2013, 14:17 #6
MeDVeDxf, как хранятся объекты в векторе? Возможно нужно просто it->show(). Покажите весь код, по этому куску вообще ничего сказать нельзя.
0
MeDVeDxf
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 5
07.02.2013, 14:22 #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
typedef vector<person*> MyCollection;
MyCollection* collection = new MyCollection;
vector<person*>::iterator it;
 
void CreateAdres()
{
    cout<<"<Создание объекта \"адрес персоны\">"<<endl;
    adres ObjectA("Джигурда", 1, "Бердищенск", "Ленина", 30);
    collection->push_back(&ObjectA);
}
 
void CreateEmail()
{
    cout<<"<Создание объекта \"эл. адрес персоны\">"<<endl;
    email ObjectE("Джигурда", 2, "Djigurda@mail.ru");
    collection->push_back(&ObjectE);
}
 
void Viewer()
{
    if(collection->size()==0) cout<<"Список пуст"<<endl;
    for (it=collection->begin(); it!=collection->end(); it++)
    {
        
        (*it)->show();
        cout<<endl<<endl;
    }
}
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
07.02.2013, 14:25 #8
MeDVeDxf, Вы пихаете в вектор адрес локальных объектов. После выхода из функций они уничтожаются... Или не используйте указатели, или используйте динамическое выделение памяти.
0
MeDVeDxf
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 5
07.02.2013, 14:26 #9
классы объектов тоже надо?
здесь описаны функции создания объектов и добавления их в вектор.
0
Kuzia domovenok
2213 / 1982 / 444
Регистрация: 25.03.2012
Сообщений: 6,965
Записей в блоге: 1
07.02.2013, 14:31 #10
нет, тебе уже указали на ошибку
0
MeDVeDxf
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 5
07.02.2013, 14:34 #11
Не совсем понял что мне делать... можно немного поподробнее?
как я понял - использование динамического выделения памяти - это использование массива указателей. но мне надо использовать именно вектор. возможно я не так понял...

а что касается указателей, то у меня их вроде нет...
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
07.02.2013, 14:40 #12
MeDVeDxf, эту программу вообще Вы писали? Что значит у Вас их нет? А это что по Вашему?
C++
1
2
typedef vector<person*> MyCollection;
MyCollection* collection = new MyCollection;
Вы используете вектор указателей, и плюс ко всему еще и указатель на этот вектор, что в общем то бессмысленно.

Исправляйте на:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
typedef vector< person > MyCollection;
MyCollection collection;
MyCollection::iterator it;
...
collection.push_back( ObjectA );
...
 
if ( collection.size() == 0 ) 
   cout<<"Список пуст"<<endl;
 
for (it=collection.begin(); it!=collection.end(); ++it)
{
   it->show();
   cout<<endl<<endl;
}
1
MeDVeDxf
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 5
07.02.2013, 15:04 #13
Благодарю за помощь.
0
07.02.2013, 15:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 15:04
Привет! Вот еще темы с решениями:

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

Необработанное исключение в "0x0138169d" в "kursovaya.exe": 0xC0000005: Нарушение прав доступа при чтении "0x6
Программа выдает ошибку, может кто видит где? и как исправить Код: #include...

Необработанное исключение в "0x013f2b22" в "123.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd"
Вот функция для удаления столбца: #pragma once #include &lt;iostream&gt; using...

Необработанное исключение в "0x01082855" в "sort.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc"
Всем привет! помогите мне понять в чём дело. написал программу: #include...


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

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

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