morouz
1

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

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

Author24 — интернет-сервис помощи студентам
Я новичёк,школьник ещё,перешёл с паскаля.
Среда 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;
}
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2013, 12:56
Ответы с готовыми решениями:

Вылетает ошибка не могу понять из за чего!
При попытке второй раз нажать кнопку Update вылетает ошибка: Exception in thread &quot;AWT-EventQueue-0&quot;...

Не могу понять из-за чего возникает ошибка
Здравствуйте. При запуске сцены возникает ошибка: &quot;The variable bullet of Deffenders has not been...

Не могу понять из за чего появляется ошибка
Код: #include &lt;windows.h&gt; #define THREADS_NUMBER 10 #define ITERATIONS_NUMBER 100 #define...

Не могу понять из-за чего ошибка. Бот рулетки

2
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
10.02.2013, 13:24 2
morouz,
первая ошибка - нет констанкт
вторая ошибка - пора переходить на с++ stl
0
morouz
10.02.2013, 14:23 3
Цитата Сообщение от Van111 Посмотреть сообщение
morouz,
первая ошибка - нет констанкт
вторая ошибка - пора переходить на с++ stl
Попробовал использовать константы,результат не изменился.

Добавлено через 52 минуты
Всё,исправил.
10.02.2013, 14:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2013, 14:23
Помогаю со студенческими работами здесь

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

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

Не могу понять из-за чего фризы. =_=
Извиняюсь за некорректность темы,ибо не нашел точной темы для этого вопроса. Собрав сборку...

Не могу понять с чего начать
Добрый день! В своей научной работе столкнулась с задачей моделирования процесса дробления руды в...

Не могу понять, из-за чего сбои
Добрый день. Последнее время наблюдаю очень много сбоев в основном на Галакси Табах и старых...

Exitcode 216. Не могу понять из-за чего
Здравствуйте, помогите решить проблему, пожалуйста. Вроде бы всё нормально должно работать, за...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru