一个要求非常苛刻的二维数组群,如何构建??
继上次俺的提问圆满解决后,我想进一步深入探讨下一个问题,上次效果最好的,能满足要求的代码如下:#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
int a[13][13];
int i, j, k, n,c,d;
if ((fp = fopen ("D:\\wenjian.txt", "a+")) == NULL)
{
printf("打开文件失败\n");
exit(1);
}
for (i=0; i<8192; ++i)
{
for (j=12; j>=0; --j)
{
n = (i>>j)&1;
for (k=0; k<13; ++k)
a[12-j][k] = n;
}
for (c=0; c<13; ++c)
{
for (d=0; d<13; ++d)
fprintf(fp, "%d ", a[c][d]);
fprintf(fp,"\n"); }
fprintf(fp,"\n");
}
fclose(fp);
return 0;
}
效果图如下:
现在我想让这每个二维数组的第0行的数据全部都是1 2 3 4 5 6 7 8 9 10 11 12 13.也就是如图:
,
这个二维数组群的每个二维数组的总行数还是13行,第0行的数据始终不变,变化的是第一行到第十二行的数据,还有,
第12行的数据和第1行的数据全等;
第11行的数据和第2行的数据全等;
第10行的数据和第3行的数据全等;
第9行的数据和第4行的数据全等;
第8行的数据和第5行的数据全等;
第7行的数据和第6行的数据全等;
原代码里面i<8192.现在有了这样的条件了,i的值应该远远小于8192了,到底应该是多少?我也没算出来。至于怎么改,则是很费脑筋。望大神们费神了。