Софтуерно Инженерство
Loading...
butoff avatar butoff 33 Точки

Изход от няколко вложени циклъла без break?

От вложени цикли излизам с break. Например:

for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    for (int k = 0; k < 10; k++)
                    {
                        if (sum > 5) { break; }
                    }
                if (sum > 5) { break; }
                    }
            if (sum > 5) { break; }
             }
Защо не ми се получава с while() с променлива в най-вътрешния цикъл?  Защо не я следи? Променивата е глобална.

 int i = 0;
            while (i < 10 && ok)
            {
                for (int j = 0; j < 10; j++)
                {
                    for (int k = 0; k < 10; k++)
                    {
                        if (sum > 5) { ok = false; }
                    }
                }
            i++;
            }

Тагове:
0
Technology Fundamentals
maya_ip avatar maya_ip 27 Точки

Смени направо стойностите на променливите i,j и т.н., които ползваш в циклите като ги приравниш на края на интервала им и ще излезеш от тях. В твоят случай може да направиш :

 if (sum > 5) { i=10;j=10;break; }

Ако трябва да определиш нещо на база на реалните им стойности е добре да го направиш отново в тази точка и пак да ги приравниш на максимумите на интервалите им. 

0
butoff avatar butoff 33 Точки

Много хитро решение! Благодаря!

0