将一维数组,按指定的行显示,也就是任意设置行的元素个数,然后一行一行打印出来.
void ShowArray(int (& data)[], int total,int line)
{
int yuNum = total % line;//余数
int count = total / line;//整行数
AnsiString strShow;//测试显示
for(int i=1;i <= total; i++)
{
strShow = strShow + AnsiString().sprintf("%4c",data[i-1]);
if(i%line == 0)//整行直接显示
{
Form1-> Memo1->Lines->Add(strShow);
strShow = "";
}
if(i-count*line == yuNum)//非整行,可能出现在首行或尾行
Form1-> Memo1->Lines->Add(strShow);
}
}
调用如下:
//初始化数据
int data[100];
for(int i=0;i<27;i++)
data[i]='A'+i;
/第二个参数为元素总数,第三个参数为行的长度
ShowArray(data,15,6);