Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2012, 22:32   #1
Zugelman
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 50
По умолчанию Run-Time Check Failure #2 - Stack around the variable 'map' was corrupted

Знаю знаю в чем ошибка, да вот кроме того что ее не отыскать еще и диапазон массива который должен быть пустым у меня заполнен! Хотя внутри условий cout пишет все верно, а за циклом непопадает((
Код:
#include <conio.h>
#include <iostream>
#include <clocale>

using namespace std;
   /*
00000АБВГДЕЖЗИК0
0000#----------#
0|1||          |
0|2||          |
0|3||          |
0|4||          |
0|5||          |
0|6||          |
0|7||          |
0|8||          |
0|9||          |
|10||          |
0000#----------#

где нули, там пробелы
   */

int main()
{
   setlocale(LC_CTYPE,"Russian");
   char perimetr[49]= "    #----------#||||||||||#----------#||||||||||";//  вначале перед # 4 пробела
   char map[16][13]; // вместе со всеми полями занимаемая площадь
   char presskey;
int ch;
int j,s,f,k;
int chetchik;
chetchik = 0;
s = 0;
j = 0;
f = 0;
k = 0;

for (int s = 0; s < 13; s++)
{
for (int f = 0; f <16; f++)
{
	
map[f][s] = ' ';

}
}

for (int chetchik=0; chetchik < 48; chetchik++)
{
   
    if ((chetchik > -1)&&(chetchik < 16))
	{
    k=1;
    map[j][k] = perimetr[chetchik];
	//cout << map[j][k];
	
	//cout <<"x= "<<j<<" "<<"y= "<<k<<" "<<map[j][k]<<"\n";
	j++;
	
   }
   
   if ((chetchik >15)&&(chetchik <27))
   {
	 
      j=16;
      k++;
      map[j][k] = perimetr[chetchik];
	  //cout <<"x= "<<j<<" "<<"y= "<<k<<" "<<map[j][k]<<"\n";
	  //cout << chetchik;
	  //cout << map[j][k];
	 //cout << k;	
   }

   if ((chetchik >26)&&(chetchik <38))
   {
          
       k=13;
	   j--;
       map[j][k] = perimetr[chetchik];
	  //cout <<"x= "<<j<<" "<<"y= "<<k<<" "<<map[j][k]<<"\n";
	   //cout << chetchik;
	   //cout << map[j][k];
	   //cout << j;
	    
    
   }

   if ((chetchik >37)&&(chetchik <48))
   {
     
       j=5;
       k--;
       map[j][k] = perimetr[chetchik];
	   //cout <<"x= "<<j<<" "<<"y= "<<k<<" "<<map[j][k]<<"\n";
	   //cout << chetchik;
	   //cout << map[j][k];
	   //cout<< k;
   
   }
  
  //cout <<"x= "<<j<<" "<<"y= "<<k<<" "<<map[j][k]<<"\n";
}

for (int s = 0; s < 13; s++)
{
for (int f = 0; f <16; f++)
{
	
cout <<"x= "<<f<<" "<<"y= "<<s<<" "<< map[f][s]<<"\n";

	// Вот здесь пишет что в s=0; есть запись а наверху начинает писать то с 1! 
}
}

do
{
//cout <<"x= "<<j<<" "<<"y= "<<k<<" "<<map[j][k]<<"\n";
	presskey = _getch();
   ch = static_cast<int>(presskey);


}
while(ch!=27);



}
Zugelman вне форума Ответить с цитированием
Старый 24.04.2012, 22:39   #2
Zugelman
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 50
По умолчанию

Цитата:
char map[16][13];
забыл про окончание chara ))
Код:
map[17][14];
Zugelman вне форума Ответить с цитированием
Старый 24.04.2012, 22:54   #3
Zugelman
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 50
По умолчанию

ошибку с массивом нашел.. но данные в массиве все равно потерялись((
Zugelman вне форума Ответить с цитированием
Старый 25.04.2012, 18:34   #4
Zugelman
Пользователь
 
Регистрация: 08.04.2009
Сообщений: 50
По умолчанию

тему закрыть. ошибку устранил
Zugelman вне форума Ответить с цитированием
Старый 26.04.2012, 08:39   #5
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Молодца, сам тему завел, сам с собой, с умным человеком обсудил, нашел решение и закрыл ее. Господа модераторы нервно курят в сторонке. Извините, не удержался.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опять все таже ошибка: Run-Time Check Failure #2 - Stack around the variable 'fam' was corrupted. borodin76 Общие вопросы C/C++ 3 18.04.2012 18:15
Ошибка Run-Time Check Failure #2 - Stack around the variable 'tmp' was corrupted. borodin76 Общие вопросы C/C++ 1 16.04.2012 09:35
Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. Gidross Общие вопросы C/C++ 9 28.12.2010 15:22
un-time check failure #2-stack around the variable 't' was corrupted Despar Помощь студентам 1 13.05.2010 10:17
run-time check failure #2-stack around the variable 't' was corrupted Despar Общие вопросы C/C++ 1 13.05.2010 08:33