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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ рандомное число всегда 22.... почему ? http://www.cyberforum.ru/cpp-beginners/thread783035.html
#include <iostream> #include <ctime> using namespace std; int main () { // нужны две константы (Ширины и высоты поля) const int Width (20), Height (10); //ширина и высота const char Live ('#'), Dead ('*'); // мертвые и живые клетки
C++ Учебник C++ по работе с массивами в примерах Возникли трудности в написании программы сравнивающей несколько массивов. Подскажите норм учебник в примерах C++ ток чтоб углубленный. Пересмотрел кучу видео уроков, прочитал кучу книг по массивам и везде одно и тоже нигде ничего по сравнению нескольких массивов не нашел. Необходимо сравнивать блоки элементов разных массивов. http://www.cyberforum.ru/cpp-beginners/thread783033.html
Вывести на экран матрицу и вычислить суммы элементов над и под главной диагональю. C++
дано матрицу А целых чисел. Вывести ее на экраны и вычислить суммы элементов над и под главной диагональю. Какая из этих сумм больше
Как защитить программу от воровства? C++
Есть программа, как сделать так что б другой человек её не скачал и не сказал что вот вот моя программа? Для этого достаточно написать в пункте "О программе" моё имя(но я сомневаюсь что это надежно :( ) или что то другое?
C++ Один большой динамический массив вместо нескольких меньшего размера http://www.cyberforum.ru/cpp-beginners/thread782930.html
Уважаемые форумчане, Прошу помочь советом. Интересует ответы на вопросы: Возможно ли? Если да, то как реализовать? Предисловие: Не так давно начал заниматься в вузе моделированием (трассировка частиц в поле). До настоящего момента пользовался статическими массивами и не знал проблем. Однако в процессе написания программы количество задаваемых массивов безбожно увеличилось и...
C++ Генерация случайных букв Всем привет, у меня такая проблема : for (int f = 0; f < 10; f++) { cout << rand ()%'z'+'a' << " "; } При компиляцьіи вьіводит числа а не буквьі. подробнее

Показать сообщение отдельно
morouz
Сообщений: n/a
10.02.2013, 12:56     Не могу понять из-за чего ошибка
Я новичёк,школьник ещё,перешёл с паскаля.
Среда 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru