Цикл в цикле для выполнения 1 раз

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Trolon
60
Trolon  

Приветствую всех читающих это)

Обращаюсь к Вам с просьбой помочь в организации цикла. А именно - я хочу организовать цикл в цикле ,но чтобы он выполнялся 1 раз за раз. Мой код сейчас:

for(int i=0; i<ArraySize(a); i++)
     {
      for(int j=0; j<ArraySize(b); j++)
        {
         for(int f=0; f<ArraySize(c); f++)
           {        
             for(int e=0; e<ArraySize(d); e++)
               {
                 for(int u=0; u<ArraySize(e); u++)
}
}
}
}

соотв он сейчас выполняется целую кучу раз и это понятно добавляет нагрузки и бессмысленности в выполнении такое количество раз.

Так вот я и прошу разъяснить ,как это выполнить ,но за один раз.

Размерность у a b c d e одинаковая.

???

Sergey Kolemanov
1019
Sergey Kolemanov  
Trolon:

 Мой код сейчас:

Вы компилировать его пробовали ? Массив и переменная не могут иметь одно имя.

for(int i=0; i<ArraySize(a); i++)
     {
      for(int j=0; j<ArraySize(b); j++)
        {
         for(int f=0; f<ArraySize(c); f++)
           {        
             for(int e=0; e<ArraySize(d); e++)
               {
                 for(int u=0; u<ArraySize(e); u++)
}
}
}
}

И вообще что значит выполнялся 1 раз ? При данной реализации у Вас и так каждый массив прогоняется 1 раз... Допустим размерность каждого массива = 10, число массивов = 5. Итого число интеграций всего кода 10 * 5 = 50. 

Trolon
60
Trolon  
Sergey Kolemanov:

Вы компилировать его пробовали ? Массив и переменная не могут иметь одно имя.

И вообще что значит выполнялся 1 раз ? При данной реализации у Вас и так каждый массив прогоняется 1 раз... Допустим размерность каждого массива = 10, число массивов = 5. Итого число интеграций всего кода 10 * 5 = 50. 

Это не действующий код, он только для наглядности.

Я имею ввиду прогон всех массивов одновременно. Т.е массивы разные, а положение их в перечислении одинаковое. И если это возможно в одну строку.

Ппимерно так

for(int i=0; i<ArraySize(a); i++)
for(int i=0; i<ArraySize(b); i++)
for(int i=0; i<ArraySize(c); i++)
for(int i=0; i<ArraySize(d); i++) 
for(int i=0; i<ArraySize(e); i++)    
но в одну строку.
Сергей Таболин
2862
Сергей Таболин  
А на...фига весь этот огород? Смысл то в чём?
Vladimir Simakov
6161
Vladimir Simakov  
Trolon:

Это не действующий код, он только для наглядности.

Я имею ввиду прогон всех массивов одновременно. Т.е массивы разные, а положение их в перечислении одинаковое. И если это возможно в одну строку.

Ппимерно так

но в одну строку.
   int a_size=ArraySize(a),
       b_size=ArraySize(b),
       c_size=ArraySize(c),
       d_size=ArraySize(d),
       e_size=ArraySize(e),
       count=MathMax(a_size,MathMax(b_size,MathMax(c_size,MathMax(d_size,e_size))));
   for (int i=0;i<count;i++){
      if (i<a_size) DoSomething(a[i]);
      if (i<b_size) DoSomething(b[i]);
      if (i<c_size) DoSomething(c[i]);
      if (i<d_size) DoSomething(d[i]);
      if (i<e_size) DoSomething(e[i]);}

Как-то так

Trolon
60
Trolon  
Vladimir Simakov:

Как-то так

Огромнейшее спасибо!))

А смысл в ресурсах и скорости.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий