| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1041 人关注过本帖
标题:二维数组元素如何用三进制数来填充,请教各位大佬!!
取消只看楼主 加入收藏
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:2 
二维数组元素如何用三进制数来填充,请教各位大佬!!
i = 0
  1   2   3   4   5   6
  0   0   0   0   0   0
  0   0   0   0   0   0
  0   0   0   0   0   0
  0   0   0   0   0   0
  0   0   0   0   0   0
i = 1
  1   2   3   4   5   6
  1   1   1   1   1   1
  0   0   0   0   0   0
  0   0   0   0   0   0
  0   0   0   0   0   0
  1   1   1   1   1   1
i = 2
  1   2   3   4   5   6
  2   2   2   2   2   2
  0   0   0   0   0   0
  0   0   0   0   0   0
  0   0   0   0   0   0
  2   2   2   2   2   2
i = 3
  1   2   3   4   5   6
  0   0   0   0   0   0
  1   1   1   1   1   1
  0   0   0   0   0   0
  1   1   1   1   1   1
  0   0   0   0   0   0
i = 4
  1   2   3   4   5   6
  1   1   1   1   1   1
  1   1   1   1   1   1
  0   0   0   0   0   0
  1   1   1   1   1   1
  1   1   1   1   1   1
i = 5
  1   2   3   4   5   6
  2   2   2   2   2   2
  1   1   1   1   1   1
  0   0   0   0   0   0
  1   1   1   1   1   1
  2   2   2   2   2   2  
i = 6
  1   2   3   4   5   6
  0   0   0   0   0   0
  2   2   2   2   2   2
  0   0   0   0   0   0
  2   2   2   2   2   2
  0   0   0   0   0   0
i = 7
  1   2   3   4   5   6
  1   1   1   1   1   1
  2   2   2   2   2   2
  0   0   0   0   0   0
  2   2   2   2   2   2
  1   1   1   1   1   1
i = 8
  1   2   3   4   5   6
  2   2   2   2   2   2
  2   2   2   2   2   2
  0   0   0   0   0   0
  2   2   2   2   2   2
  2   2   2   2   2   2
i = 9
  1   2   3   4   5   6
  0   0   0   0   0   0
  0   0   0   0   0   0
  1   1   1   1   1   1
  0   0   0   0   0   0
  0   0   0   0   0   0
i = 10
  1   2   3   4   5   6
  1   1   1   1   1   1
  0   0   0   0   0   0
  1   1   1   1   1   1
  0   0   0   0   0   0
  1   1   1   1   1   1
i = 11
  1   2   3   4   5   6
  2   2   2   2   2   2
  0   0   0   0   0   0
  1   1   1   1   1   1
  0   0   0   0   0   0
  2   2   2   2   2   2
i = 12
  1   2   3   4   5   6
  0   0   0   0   0   0
  1   1   1   1   1   1
  1   1   1   1   1   1
  1   1   1   1   1   1
  0   0   0   0   0   0
i = 13
  1   2   3   4   5   6
  1   1   1   1   1   1
  1   1   1   1   1   1
  1   1   1   1   1   1
  1   1   1   1   1   1
  1   1   1   1   1   1
i = 14
  1   2   3   4   5   6
  2   2   2   2   2   2
  1   1   1   1   1   1
  1   1   1   1   1   1
  1   1   1   1   1   1
  2   2   2   2   2   2
i = 15
  1   2   3   4   5   6
  0   0   0   0   0   0
  2   2   2   2   2   2
  1   1   1   1   1   1
  2   2   2   2   2   2
  0   0   0   0   0   0
i = 16
  1   2   3   4   5   6
  1   1   1   1   1   1
  2   2   2   2   2   2
  1   1   1   1   1   1
  2   2   2   2   2   2
  1   1   1   1   1   1
i = 17
  1   2   3   4   5   6
  2   2   2   2   2   2
  2   2   2   2   2   2
  1   1   1   1   1   1
  2   2   2   2   2   2
  2   2   2   2   2   2
i = 18
  1   2   3   4   5   6
  0   0   0   0   0   0
  0   0   0   0   0   0
  2   2   2   2   2   2
  0   0   0   0   0   0
  0   0   0   0   0   0
i = 19
  1   2   3   4   5   6
  1   1   1   1   1   1
  0   0   0   0   0   0
  2   2   2   2   2   2
  0   0   0   0   0   0
  1   1   1   1   1   1
i = 20
  1   2   3   4   5   6
  2   2   2   2   2   2  
  0   0   0   0   0   0
  2   2   2   2   2   2
  0   0   0   0   0   0
  2   2   2   2   2   2
i = 21
  1   2   3   4   5   6
  0   0   0   0   0   0
  1   1   1   1   1   1
  2   2   2   2   2   2
  1   1   1   1   1   1
  0   0   0   0   0   0
i = 22
  1   2   3   4   5   6
  1   1   1   1   1   1
  1   1   1   1   1   1
  2   2   2   2   2   2
  1   1   1   1   1   1
  1   1   1   1   1   1
i = 23
  1   2   3   4   5   6
  2   2   2   2   2   2
  1   1   1   1   1   1
  2   2   2   2   2   2
  1   1   1   1   1   1
  2   2   2   2   2   2
i = 24
  1   2   3   4   5   6
  0   0   0   0   0   0  
  2   2   2   2   2   2
  2   2   2   2   2   2
  2   2   2   2   2   2
  0   0   0   0   0   0
i = 25
  1   2   3   4   5   6
  1   1   1   1   1   1  
  2   2   2   2   2   2
  2   2   2   2   2   2
  2   2   2   2   2   2
  1   1   1   1   1   1  
i = 26
  1   2   3   4   5   6
  2   2   2   2   2   2
  2   2   2   2   2   2
  2   2   2   2   2   2
  2   2   2   2   2   2
  2   2   2   2   2   2

我想用编程的方式来完成上面的运行效果,这个二维数组群是用0,1,2 三个数字来填充的。
编程代码如下:
#include <stdio.h>  
#include <stdlib.h>  
int main()
{  
    int a[6][6];
    FILE *fp;
    if ((fp = fopen ("D:\\wenjian.txt", "a+")) == NULL)
    {
        printf("打开文件失败\n");
        exit(1);
    }
    for(int i = 0; i < 8 ; i++)//F
    {
        int n = i ;
        int m = i ;
        fprintf(fp,"i = %d \n",i);
        for ( int j = 1; j<7; ++j)//G
                {
                 a[0][j]=j;
                 fprintf(fp, "%3d ",a[0][j]);
                }
        fprintf(fp,"\n");
        for(int j = 1; j < 3; j++)//H
           {
                 for (int k=0; k<6; k++)//I
                    {
                      a[j][k]=(n&1);
                     fprintf(fp, "%3d ", a[j][k]);
                    }
                 fprintf(fp,"\n");
                 n = n>>1;
            }
         for(int j = 3; j < 6; j++)//J
            {
                 for (int k=0; k<6; k++)//K
                 {
                    a[j][k]=!!(m&4);//L
                    fprintf(fp, "%3d ", a[j][k]);
                 }
                 fprintf(fp,"\n");
                 m = m<<1;
            }
    }
    fclose(fp);
    return 0;
}
这段代码肯定不对,因为它是用0和1 来填充二维数组群的,请问在原代码的基础上做如何的修改就可以完成该任务。谢谢!!
搜索更多相关主题的帖子: 维数 填充 int for fprintf 
2018-04-11 21:00
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
能不能改成输出到文件的格式:比如,输出到D盘的shuzu.exe文件的样式。
2018-04-12 09:07
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:0 
编译运行的效果是二维数组的形式,编程的时候可不可以也用数组来完成工作呢,我还想用它来计算呢,比如计算a[2][2]+a[4][2]的值呢,主程序部分我都改好了,如下:但是函数部分怎么改,我还不知道呢,请教!
#include<stdio.h>
static void _fun( unsigned,int );
int main( void )
{
   int i,j;
   int a[6][6];
   for (i=0;i!=27;++i)
    {
        printf("i = %d\n",i);
        {
            for (j=1;j!=7;++j)
              {a[0][j]=j;
              printf("%-4d",a[0][j]);
              
              }
            printf("\n");   
        }
       _fun(i,~1);
       _fun(i,1);
      printf("\n");
    }
    return 0;
}
static void _fun( unsigned k,int n )
{
     if (n>0)
        _fun(k/3,n-1);
   {
        int i=8;      
        while (--i)
            printf("%-4d\000\n"+5*(((i+14)/8)%2),k%3);
                     
  }
    if (n<0)
        _fun(k/3,n+1);
}
2018-04-14 10:46
快速回复:二维数组元素如何用三进制数来填充,请教各位大佬!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068974 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved