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

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

Войти
Регистрация
Восстановить пароль
 
morouz
Сообщений: n/a
#1

Не могу понять из-за чего ошибка - C++

10.02.2013, 12:56. Просмотров 250. Ответов 2
Метки нет (Все метки)

Я новичёк,школьник ещё,перешёл с паскаля.
Среда Visual C++ 2010.
Вот код. Одна из базовых задач,нахождение кратчайшего пути в лабиринте.
Выдаёт ошибку о выходе за пределы массива "a". Я обнёс его по краям такими значениями,чтобы туда в ходе программы не заходило,+поставил дополнительные if. Всё считает,успевает вывести,и в самом конце,после return 0 выскакивает эта ошибка(прогонял пошагово через F10).Переписывал с нуля на паскале,ошибки не выбивало.Не знаю что делать,подскажите пожалуйста.


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
#include "stdafx.h"
#include "stdio.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    FILE *f;
 int m,n,xk,yk,xn,yn,x,y;
 int a[100][100],step[2][10000];
 f=fopen("input.txt","r+");
 fscanf(f,"%d %d\n",&m,&n);
 fscanf(f,"%d %d\n",&xn,&yn);
 fscanf(f,"%d %d\n",&xk,&yk);
 for (int i=1; i<=m; i++)
 { for (int j=1; j<=n; j++)
 {fscanf(f,"%d",&a[i][j]);}
 fscanf(f,"\n");}
 int c,z;
 c=0; z=1;
 step[1][1]=xn;
 step[2][1]=yn;
 for (int i=0; i<=m+1; i++)
 { a[i][0]=-1; a[i][n+1]=-1; 
 }
 for (int i=0; i<=n+1; i++)
 { a[0][i]=-1; a[m+1][i]=-1;
 }
  for (int i=0; i<=m+1; i++)
 { for (int j=0; j<=n+1; j++)
  {printf("%d",a[i][j]);}
  printf("\n");}
  fclose(f);
  
 do
 {c++;
  x=step[1][c];
  y=step[2][c];
  if (x<5) { if (a[x+1][y]==0) {z++; step[1][z]=x+1; step[2][z]=y; a[x+1][y]=a[x][y]+1;}}
  if (x>1) { if (a[x-1][y]==0) {z++; step[1][z]=x-1; step[2][z]=y; a[x+1][y]=a[x][y]+1;}}
  if (y<5) { if (a[x][y+1]==0) {z++; step[1][z]=x; step[2][z]=y+1; a[x][y+1]=a[x][y]+1;}}
  if (y>1) { if (a[x][y-1]==0) {z++; step[1][z]=x; step[2][z]=y-1; a[x][y-1]=a[x][y]+1;}}
 }
 while ((c!=z));
 printf("%d",a[xk][yk]);
    
 
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 12:56     Не могу понять из-за чего ошибка
Посмотрите здесь:

Не могу понять чего не работает - C++
Не могу понять чего не работает моя (функция sort) сортировка мозги уже кипят, а надо всего лишь сделать сортировку по алфавиту но не...

не могу понять с чего начать - C++
Написать программу содержащую 2 функции. Первая функция которая выводит на экран строку, состоящую из одинаковых символов располагается...

Не могу понять из-за чего это происходит - C++
Здраствуйте. Вот часть программы: #include &lt;fstream&gt; using namespace std; int main() { ifstream x(&quot;input.txt&quot;); ...

Не могу понять чего выдает всегда 0 - C++
int n = 0; char str1 = &quot;Текст текст текст Фиксатор текст текст текст&quot;; for(int i = 0; i &lt; strlen(str1); i++) { ...

Не могу понять для чего третья переменная в параметрах функции - C++
int binpow (int a, int n) вот это понимаю, а вот этот не могу понять, что означает переменная b? unsigned int binpow(unsigned int a,...

С++ ошибка в проге, но не могу понять какая ошибка( - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;clocale&gt; using namespace std; int main (int args, const char * argv ) { ...

не могу понять в чем ошибка - C++
Задание: Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него массив четных положительных...

Не могу понять в чем ошибка - C++
Дано задание: &quot;Имеется текстовый файл. Игнорируя исходное деление этого файла на строки, переформатировать его, разбивая на строки так,...

Не могу понять где ошибка - C++
Вот код программы: #include &lt;iostream&gt; #include &lt;locale.h&gt; using namespace std; int mian() { setlocale(LC_ALL, &quot;Rus&quot;); ...

не могу понять в чем ошибка - C++
помогите найти ошибку


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
10.02.2013, 13:24     Не могу понять из-за чего ошибка #2
morouz,
первая ошибка - нет констанкт
вторая ошибка - пора переходить на с++ stl
morouz
Сообщений: n/a
10.02.2013, 14:23     Не могу понять из-за чего ошибка #3
Цитата Сообщение от Van111 Посмотреть сообщение
morouz,
первая ошибка - нет констанкт
вторая ошибка - пора переходить на с++ stl
Попробовал использовать константы,результат не изменился.

Добавлено через 52 минуты
Всё,исправил.
Ответ Создать тему
Опции темы

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