将值放在二维数组中

时间:2013-12-28 07:01:55

标签: c++

我使用双指针制作二维数组。

     int **table;

表的X轴指向Ascii值,如下所示: enter image description here

使用下面的代码填写表格

  for (int S.no=0; S.no < 20 ; S.no++ )
              {
     for (int ASCII=0; ASCII < 255 ; ASCII++ )
              {
                table[S.no][ASCII]=value; 
               }
                                      }

所以,我得到这样的东西:

enter image description here

现在我想在表中为两个字符添加值,如下所示:

enter image description here

请帮助我在ASCII中加入什么值,因为现在这些字符被合并了。最初我把int ASCII用于单个字符,但现在我将为两个字符做什么?因为我无法组合两个字符的ASCII,因为这将导致访问表的问题。

       table[S.no][ASCII]=value; 

2 个答案:

答案 0 :(得分:2)

我不确定这是否是你要找的,但你可以为数组添加另一个维度:

#define NUM_VALUES 20
#define ASCII_RANGE 255

int (*table)[ASCII_RANGE][ASCII_RANGE] = new int[NUM_VALUES][ASCII_RANGE][ASCII_RANGE];

for (int S.no = 0; S.no < NUM_VALUES; S.no++) // S must be a pre-defined class...?
{
    for (int ascii1 = 0; ascii1 < ASCII_RANGE; ascii1++)
    {
        for (int ascii2= 0; ascii2 < ASCII_RANGE; ascii2++)
            table[S.no][ascii1][ascii2] = value; // value = some pre-defined value
    }
}

答案 1 :(得分:0)

for (int S.no=0; S.no < 20 ; S.no++ )
    for (int ASCII=0; ASCII < 255 ; ASCII++ )
        for (int ASCII_2=0; ASCII_2 < 255 ; ASCII++)
        {
            table[S.no][ASCII << 8 + ASCII_2]=value; 
        }

这是你的意思吗?