Схожу с ума или бунт машин? Тупость с массивом int
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Схожу с ума или бунт машин? Тупость с массивом 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 миллионов не равны нулю. Почувствовал что схожу с ума. Выяснять правильный ли выход у проги будет сложновато,но сделаю. Вопрос: что я забыл про представление чисел и отладчик эдакое? Не стал бы спрашивать,но очень уж припух.
|
|
|
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 02:40:40.406666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
можно код?
|
|
|
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<32;k++)
{
own_r[k]=0;
}
if (own_r[2]!=0)
{
toolStripStatusLabel3->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<(6*32);i++)
{
fscanf(f,"%s\n",nm);
if (nm=="1") {own_r[j]++; }
own_r[j]<<=1;
if (div(i,6).rem==5) { j++; }
}
fclose(f);
}
............
[/size]
массив изначально был двумерный,та же хрень.переменные объявлены нормально,обычных типов,на кривоту рабочей части можно забить.
|
|
|
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?
|
|
|
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 12:15:15.473333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
ZeroMemory - майркософтовское извращение над memset( .., 0, .. );
|
|
|
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:27:50.286666
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
Genco, какая среда разработки(Просто если билдер, то это 95% баг отладчика, у меня такая же фигня была)?
|
|
|
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й элемент массива не заходит, т.е. он НОЛЬ?
|
|
|
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<32;k++) { own_r[k]=0; } эл-ты массива по прежнему НЕ НУЛИ? И при этом в: if (own_r[2]!=0) 3й элемент массива не заходит, т.е. он НОЛЬ? Вопрос был, почему отладчик показывает нулевые элементы массива, как ненулевые.
|
|
|
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"
|
|
|
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 17:45:01.513333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
А у тебя массив точно на стеке выделяется? :)
|
|
|
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 18:18:28.763333
|
|
|
Jasmin
Сообщений: 2320
Оценки: 0
Присоединился: 2007-05-03 23:08:53.390000
|
quote:
ORIGINAL: Genco Сейчас ночь и я в таком офигении,что решил написать на форум. Как романтично то :D А рядом кто то есть или мне прийти?
|
|
|
RE: Схожу с ума или бунт машин? Тупость с массивом int - 2009-03-30 19:52:16.583333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Немного перефразирую заголовок: Схожу с ума! Иль бунт машин? Туплю с массивом Типа INT…
|
|
|
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]
|
|
|
|
|