Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Схожу с ума или бунт машин? Тупость с массивом int

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Схожу с ума или бунт машин? Тупость с массивом int
Имя
Сообщение << Старые топики   Новые топики >>
Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 02:14:59.646666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Сейчас ночь и я в таком офигении,что решил написать на форум.Завел массив (int mas[32] ; ) - типо такого. Заполняю,чето с ним делаю.Проверял отладчиком.Увидел что до захода во всякие циклы все элементы равны где то 21175428. Обругав себя ламером отдельно занулил весь массив. Смотрю - в цикл заходит,переменные нулем не становятся.Помедитировав на монитор 5-10 минут написал if : (mas[2]!=0) - вывести сообщение. В if оно не заходит,хотя 20 миллионов не равны нулю. Почувствовал что схожу с ума. Выяснять правильный ли выход у проги будет сложновато,но сделаю.
Вопрос: что я забыл про представление чисел и отладчик эдакое? Не стал бы спрашивать,но очень уж припух.
Post #: 1
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 02:40:40.406666   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
можно код?
Post #: 2
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 03:03:55.093333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Конкретно к этому массиву кода немного:
[size=1] int own_r[32]; .................................... //ниже ZeroMemory(own_r,sizeof(own_r)); for(int k=0;k&lt;32;k++) { own_r[k]=0; } if (own_r[2]!=0) { toolStripStatusLabel3-&gt;Text=Convert::ToString(own_r[2]); }//прикол уже тут начинается //дальше идет всякое позорище,но приведу его if (fopen_s(&f,"RULE.txt","r")==0) { fgets(nl,16,f); int j=0; for(int i=0;i&lt;(6*32);i++) { fscanf(f,"%s\n",nm); if (nm=="1") {own_r[j]++; } own_r[j]&lt;&lt;=1; if (div(i,6).rem==5) { j++; } } fclose(f); } ............ [/size] массив изначально был двумерный,та же хрень.переменные объявлены нормально,обычных типов,на кривоту рабочей части можно забить.
Post #: 3
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 05:05:48.780000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
int own_r[32] = {0};

так занулять проще (тебе-то именно инициализация нужна). а то, о чём ты пишешь - скорее всего баг отладчика. добавь вывод содержимого массива в месте противоречивой информации и пройдись отладчиком по нему; если будут разногласия между выводом и watch'ами - тогда точно баг, и можно писать в багтрекер

да, что делает ZeroMemory?
Post #: 4
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 12:15:15.473333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
ZeroMemory - майркософтовское извращение над memset( .., 0, .. );
Post #: 5
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:27:50.286666   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
Genco, какая среда разработки(Просто если билдер, то это 95% баг отладчика, у меня такая же фигня была)?
Post #: 6
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:33:03.346666   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
эмм я правильно понял вопрос?
после выполнения операции зануления, через этот цикл:
for(int k=0;k<32;k++)
{
own_r[k]=0;
}
эл-ты массива по прежнему НЕ НУЛИ? И при этом в:
if (own_r[2]!=0)
3й элемент массива не заходит, т.е. он НОЛЬ?

Post #: 7
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:38:17.286666   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000

quote:

ORIGINAL: Lost_boy

эмм я правильно понял вопрос?
после выполнения операции зануления, через этот цикл:
for(int k=0;k&lt;32;k++)
{
own_r[k]=0;
}
эл-ты массива по прежнему НЕ НУЛИ? И при этом в:
if (own_r[2]!=0)
3й элемент массива не заходит, т.е. он НОЛЬ?

Вопрос был, почему отладчик показывает нулевые элементы массива, как ненулевые.
Post #: 8
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:42:02.720000   
Lost_boy

Сообщений: 327
Оценки: 0
Присоединился: 2009-03-25 11:07:27.910000
quote:

ORIGINAL: Zmaster

Genco, какая среда разработки(Просто если билдер, то это 95% баг отладчика, у меня такая же фигня была)?

на счет билдера согласен, у самого были такие случаи, да и друзей также… нулевой элемент считался ненулевым, порой даже были глупости со знаками, "-1" считалось за "1"
Post #: 9
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:45:01.513333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
А у тебя массив точно на стеке выделяется? :)
Post #: 10
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 18:18:28.763333   
Jasmin

Сообщений: 2320
Оценки: 0
Присоединился: 2007-05-03 23:08:53.390000
quote:

ORIGINAL: Genco
Сейчас ночь и я в таком офигении,что решил написать на форум.


Как романтично то :D А рядом кто то есть или мне прийти?
Post #: 11
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 19:52:16.583333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Немного перефразирую заголовок:

Схожу с ума!
Иль бунт машин?
Туплю с массивом
Типа INT…
Post #: 12
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 23:28:45.023333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
[sm=ap.gif][sm=ap.gif][sm=ap.gif] Ну среда MSVS,про память напихал чтоб наверняка,надеюсь что он только показывает их так криво,ща пришел и проверять буду.
quote:

Как романтично то А рядом кто то есть или мне прийти?
Оуу,когда слышишь от такой дамы,сие есть заманчиво))
з.ы. поэзия рулит)[sm=ay.gif]
Post #: 13
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Схожу с ума или бунт машин? Тупость с массивом int







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.