Cで数列を並び変えたいのですが
Posted: 2009年12月23日(水) 20:06
タイトルの通りCで数列の並び替えをしたいのですが、プログラムを実行すると表示が
0000001100100001
と表示され、入れ替えの場所も1の数も合致しません。
修正する必要があると思うのですが、どうしても自分では間違いが見つかりません。助けてください!
#include <stdio.h>
int main(void)
{
int a[16] = {0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0};
int order[16] = {0,2,3,1,12,5,9,8,10,11,7,15,4,14,13,6};
int i;
for(i=0;i<16;i++)
{
int x = order;
int y = a[x];
a = y;
printf("%d",a);
}
return 0;
}
よろしくお願いします。
0000001100100001
と表示され、入れ替えの場所も1の数も合致しません。
修正する必要があると思うのですが、どうしても自分では間違いが見つかりません。助けてください!
#include <stdio.h>
int main(void)
{
int a[16] = {0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0};
int order[16] = {0,2,3,1,12,5,9,8,10,11,7,15,4,14,13,6};
int i;
for(i=0;i<16;i++)
{
int x = order;
int y = a[x];
a = y;
printf("%d",a);
}
return 0;
}
よろしくお願いします。