根据二维数组中的值,将另一个单个数组转换为C中的二进制数

时间:2011-11-09 20:05:27

标签: c arrays

之前我制作了一个代码,其中我将一维数组中的值转换为二进制数。

int myDataBinary[500] = {0};
int my_data[10] = {0};
int index1 = 0;

void main()     {

    my_data[0] = 1;
    my_data[1] = 3;
    my_data[2] = 9;
    my_data[3] = 10;

    for(int i=0; i<sizeof(my_data)/sizeof(int);i++)
    {

         if(my_data[i] > 0){

         index1 = my_data[i];

         myDataBinary[index1] = 1;

        //printf("my data %d = %d\n",index1,myDataBinary[index1]);

     }

  }

}

现在我如何将二维数组Array[j][i]内的值传递给上面的二进制转换函数,以便在输出中我再次只获得一个myDataBinary[]数组。任何形式的帮助都会受到赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

你的意思是这个吗?两个嵌套循环?

int myDataBinary[500] = {0};
// Not sure if this syntax is allowed, but you get the point
int my_data[10][10] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0} };
int index1 = 0;

void main()
{
    my_data[0][3] = 1;
    my_data[1][2] = 3;
    my_data[2][8] = 9;
    my_data[3][0] = 10;

    for(int i=0; i<sizeof(my_data)/sizeof(maydata[0]);i++)
    {
        for(int j=0; i<sizeof(my_data[0])/sizeof(int);i++)
        {
            if(my_data[i][j] > 0)
            {
                index1 = my_data[i][j];
                myDataBinary[index1] = 1;
            }
        }
    }
}