Цитата:
Сообщение от
CDR
Хм.. вот вроде бы эквивалент на X++
X++:
static void Google(Args _args)
{
int A[20];
int n = 4;
int nf = 1;
int i,j;
int jp = 0;
str line;
int tp = 0;
anyType buffer;
;
// Расчет факториала (количество возможных значений)
for (i = 2; i <= n; i++)
nf = nf * i;
// Генерация массива
for(i = 1; i <= n; i++)
A[i] = i;
// перебор всех возможных значений
for(i = 1; i <= nf; i++)
{
line = '';
for (j = 1; j <= n; j++ )
{
line = line + int2str(A[j]);
}
info(line);
jp = 1;
for(j = 1; j <= (n - 1); j++)
{
if (A[j] < A[j+1])
jp = j;
}
tp = 1;
for(j = n; j >= 1; j--)
{
if (A[j] > A[jp])
{
tp = j;
break;
}
}
// swap
buffer = A[jp];
A[jp] = A[tp];
A[tp] = buffer;
for(j = 1; j <= ( (n - jp)/2 ); j++)
{
// swap
buffer = A[jp + 1 + j];
A[jp + 1 + j] = A[n - 1 - j];
A[n - 1 - j] = buffer;
}
}
}
Че-то не работает ...
1) в последнем цикле появилась куча ошибок с индексами