c++小白,初学数组,一道有关问题,请大家帮帮忙,多谢

c++小白,初学数组,一道问题,请大家帮帮忙,谢谢
        B C E H L Q
        C D F I M R
        D E G J N S
        E F H K O T
这道题的要求是输出这个
下面是我写的代码
#include<iostream>
using namespace std;
int main()
{
    const int ROW_SIZE=6;
    const int COLUMN_SIZE=5;
    char ch[ROW_SIZE][COLUMN_SIZE];
    ch[0][0]='A';
    for(int i=1;i<ROW_SIZE;i++)
    {
        ch[0][i]=ch[0][0]+i;
    }
    for(int j=1;j<COLUMN_SIZE;j++)
    {
        ch[j][0]=ch[0][0]+j;
    }
    for(int k=1;k<COLUMN_SIZE;k++)//在这个for循环我想让每一行的第一个分别输出的是B,C,D,E.
    {
        cout<<ch[k][0]<<" ";
        for(int l=1;l<ROW_SIZE;l++)
        {

            ch[k][l]=ch[k][l-1]+l;
            cout<<ch[k][l]<<" ";
        }
        cout<<endl;
    }
    return 0;
}
c++小白,初学数组,一道有关问题,请大家帮帮忙,多谢
但是为什么每一行的第一个都变成了上一行的最后一个,是最后for循环里的for循环对数组产生影响了么?
谢谢。
------解决思路----------------------
    for(int i=1;i<ROW_SIZE;i++)
    {
        ch[0][i]=ch[0][0]+i;
    }
    for(int j=1;j<COLUMN_SIZE;j++)
    {
        ch[j][0]=ch[0][0]+j;
    }
行和列搞错了吧
------解决思路----------------------
很明显是行和列搞错了。
------解决思路----------------------
引用
#include<iostream>
using namespace std;

const int ROW_SIZE=4;
const int COLUMN_SIZE=6;


int main()
{
char ch[ROW_SIZE][COLUMN_SIZE];
char tmp = 'B';
int i = 0;
int j = 0;
for (i = 0; i < ROW_SIZE; i ++)
{
tmp = 'B' + i;
for (j = 0; j < COLUMN_SIZE; j ++)
{
tmp += j;
ch[i][j] = 'B' + tmp;
}
}

for (i = 0; i < ROW_SIZE; i ++)
     {
         cout<<ch[i][0]<<" ";
         for (j = 0; j < COLUMN_SIZE; j ++)
         {
cout<<ch[i][j]<<" ";
         }
cout<<endl;
}

return 0;
}

没环境,晚上测试。先贴出来。。
------解决思路----------------------
根据你给的输出结果,总结这个输出的规律,自己写的一个代码,你可以参考一下,谢谢。

#include "stdafx.h"

#include <iostream>

using namespace std;

#define COLUMN_SIZE 6
#define ROW_SIZE 4

int _tmain(int argc, _TCHAR* argv[])
{
char szTable[COLUMN_SIZE][ROW_SIZE];
memset(szTable, 0, COLUMN_SIZE * ROW_SIZE);

char chStart = 'B';
for (int i = 0; i < COLUMN_SIZE; i++)
{
for(int j = 0; j < ROW_SIZE; j++)
{
if ( i > 0)
{
szTable[i][j] = szTable[i-1][0] + i + j;

else
{
szTable[i][j] = chStart + i + j;
}
}
}

for (int i = 0; i < ROW_SIZE; i++)
{
for (int j = 0; j < COLUMN_SIZE; j++)
{
cout << szTable[j][i];
cout << " ";
}

cout << endl;
}

return 0;
}

------解决思路----------------------
引用上楼的:
for (i = 0; i < ROW_SIZE; i ++)
     {
         cout<<ch[i][0]<<" "; //这行可以省略,就不会重复出现第一列了。。。。。
         for (j = 0; j < COLUMN_SIZE; j ++)
         {
cout<<ch[i][j]<<" ";
         }
cout<<endl;
}

return 0;
}