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

При вызове функции необработанное исключение, выход за границы массива - C++

26.03.2015, 16:56. Просмотров 258. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool checkprocessed(point data[20][20],int xx,int yy,int wind)
{
    bool mark=false;
    int s=0;
    for(int k=xx; k<xx+wind;k++){
        for(int m=yy;k<yy+wind;m++){
            if(data[k][m].processed==true){
                        mark=true;
            }
        }
    }
 
    
        return mark;
 
 
}
point это структура
C++
1
2
3
4
5
6
7
8
9
10
struct point //
{
    int x;
    int y;
    int z;
    bool processed; //метка принадлежности точки к некоторой поверхности, изначально false
    int status;
    int rank;
    int tag;
};

когда запускаю срабатывает прерывание и пишет

Необработанное исключение по адресу 0x00067433 в ConsoleApplication18.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00470010.

хотя если допустим wind=3 делаю через if вот так

C++
1
2
3
4
5
6
    /*if(data[i][j].processed==true || data[i][j+1].processed==true || data[i][j+2].processed==true ||
                data[i+1][j].processed==true || data[i+1][j+1].processed==true || data[i+1][j+2].processed==true ||
                data[i+2][j].processed==true || data[i+2][j+1].processed==true || data[i+2][j+2].processed==true)
            {
                mark=true;              
            }   */
то все работает
http://www.cyberforum.ru/cpp-beginners/thread2181462.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2015, 16:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос При вызове функции необработанное исключение, выход за границы массива (C++):

Не удаётся устранить необработанное исключение(выход за границы вектора)
Помогите пожалуйста, по мне так всё правильно и аналогичная функция в другом...

При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку)
При вызове CreateWindow в функции HRESULT Render_CreateWindow(LPCTSTR wclass,...

Как вызвать исключение «выход за границы массива»?
Как вызвать исключение «выход за границы массива»? То есть, чтобы ввели массив...

Почему происходит выход за границы массива в функции Analyze()?
#include &quot;Analyzer.h&quot; #include &quot;HashTable.h&quot; #include &lt;iostream&gt; #include...

Выход за границы массива
Выхожу за пределы массива, но вот только не понимаю как. #include &lt;iostream&gt;...

4
MakeEasy
41 / 41 / 26
Регистрация: 24.02.2015
Сообщений: 151
26.03.2015, 17:00 #2
Может xx+wind > 20 или yy+wind > 20 ?
0
IrineK
Заблокирован
26.03.2015, 17:04 #3
Выходите за границы массива 20х20.
Нужно смотреть xx,yy,wind
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
26.03.2015, 18:26 #4
Почему в 6-й строке k, а не m?
1
m1ster
1 / 1 / 1
Регистрация: 21.12.2011
Сообщений: 55
26.03.2015, 19:37  [ТС] #5
у меня
C++
1
wind=3
и в функцию не может передаться значения xx yy , так чтобы в сумме получилось больше 19


да в 6 строке опечатка, я исправил, тоже самое

Добавлено через 3 минуты
а хотя вроде заработало)
спасибо
0
26.03.2015, 19:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2015, 19:37
Привет! Вот еще темы с решениями:

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

Необработанное исключение при работе с strcat
Вроде бы нечего сложного, но после запуска программы она останавливается и...

Массивы: Проверка на выход за границы массива
Здравствуйте! Пишу код хождения коня по шахматной доске. Конь пока стоит на...

Необработанное исключение по адресу при выводе на консоль
Доброго времени суток. #include &lt;iostream&gt; #include &lt;string&gt; using namespace...


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

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

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