петля в двух направлениях - PullRequest
26 голосов
/ 01 июля 2010

эй, я ищу чистое решение этой проблемы:

alt text

я запускаю цикл с i = 0, во втором шаге цикла i = 1, затем i = -1, а затем i = 2 и т. Д.

как правильно запрограммировать это с помощью цикла for?

Ответы [ 12 ]

0 голосов
/ 01 июля 2010

In C. Значение N - это общее количество значений в последовательности, которую вы хотите получить.

int i, n = 0, m = 1;
for (i = 1; i < N; i++, m = -m) {
    /* n is the next in the sequence */
    n += m * i;
}
0 голосов
/ 01 июля 2010

Модификация решения падающей пули, которая будет обрабатывать индекс 0 без специального условия.

//do stuff with 0
for(int i = 0; i< (arrayLength/2); i++)
{
    //do stuff with i

    if(-i != i)
    {
        //do stuff with negIndex
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...