Хочу на компьютере проверить правильность возведения следующей перестановки в некоторую степень:
1 -> 4
2 -> 6
3 -> 3
4 -> 1
5 -> 2
6 -> 5
Для этого написал
#include <stdio.h>
int permutation(int *m, int *result);
int main()
{
int m[] = {0, 1, 2, 3, 4, 5, 6};
int result[7];
int iterations = 2, i = 1;
while (i <= iterations)
{
permutation(m, result);
i++;
}
for (i = 1; i < 7; i++)
{
printf("%d: %d\n", i, result[i]);
}
return 0;
}
int permutation(int *m, int *result)
{
result[1] = m[4];
result[2] = m[6];
result[3] = m[3];
result[4] = m[1];
result[5] = m[2];
result[6] = m[5];
}
Собственно, вопрос — почему функция permutation исполняется только один раз независимо от значения переменной iterations? Не вижу своей ошибки.