Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объясните почему цикл глючит? 
:(
    Опции темы
Abbath1349
Дата 4.7.2011, 21:57 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



У меня есть 2-й цикл ,но проблема,что первый цикл не выполняется.Не как не могу понять,что сдесь не так. 
Код


            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    n = Square_num(i, j);
                    step1:
                    num = rnd.Next(0, 8);
                    if (IsNum[n, num])
                        goto step1;
                    num++;
                    for (int i1 = 0; i1 < 9; i1++)
                        if (matrix[i1, j] == num)
                            goto step1;
                    for (int j1 = 0; j1 <9; j1++)
                        if (matrix[i, j1] == num)
                            goto step1;
                    matrix[i, j] = num;
                    num--;
                    IsNum[n, num] = true;
                    Console.WriteLine(i+" "+j);
                }
            
            }

PM MAIL   Вверх
Экскалупатор
Дата 4.7.2011, 22:18 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



Abbath1349, кто ж тебя так научил писать? оторви этому человеку руку. нет, серьезно, так писать нельзя, это преступление...

я не совсем понял где у тебя второй цикл(какой из четырех for ты называешь вторым), но уверен что все зло в... как это не парадаксально и может быть"неожиданно" окажется... в goto. у тебя в первом ифе не меняется значение, т.е. ты всегда сравниваешь одно и тоже значение и если оно в первый раз оказывается верным... PROFIT!!! мы имеем бесконечный переход в неизвестное место, а точнее на метку выше и потом опять на иф и потом опять на goto. выбрось этот код и напиши нормальный и без меток и goto...

уверен что в дальнейшем косяк был бы со вложенными циклами, потому что у тебя каждый раз объявляется новая переменная цикла(i1 и j1) а потом внезапно мы перескакиваем выше цикла на метку. а потом опять попадаем в цикл, снова объявляем НОВУЮ переменную цикла и опят сравниваем тот самый элемент из-за которого мы перешли выше в прошлый раз и так бесконечно...

конечно, у тебя типа там рандом и все такое, но что он тебе возвращает? может быть у тебя все по кругу гоняется и нет этому конца... в общем я бы все это быстренько стер и попробовал написать что то более вразумительное...
p.s. goto зло

Это сообщение отредактировал(а) Экскалупатор - 4.7.2011, 22:25
PM MAIL ICQ   Вверх
SKrivosein
Дата 5.7.2011, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: 4
Всего: 8



Попробуй погонять код в дебагере, постав метки и погоняй. Чтобы понять то что тебе написал Экскалупатор. А обычно, если я немогу разобратся в собственом коде, то код - гов... странный.


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.