用c++编写一个函数(尽量简单点,我刚学,难的看不懂) 实现数组排列

来源:百度知道 编辑:UC知道 时间:2024/05/14 06:57:38
如何将一个一维数组a[]={1,2,3,4,5,6,7,8,9,10,11,12}排列成如下面的二维数组
1 6 7 12
2 5 8 11
3 4 9 10

#include <stdio.h>

int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int b[3][4];

void convert()
{
int i,j=-1;
int index=0;
for(i=0;i<4;i++)
{
if(j!=-1)
{
for(j=j-1;j>=0;j--)
b[j][i]=a[index++];
}
else
{
for(j=0;j<3;j++)
b[j][i]=a[index++];
}
}
}

int main()
{
convert();
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}

vc++6.0 编辑测试通过

楼上,你那是C啊,楼主要C++

#include <iostream>
using namespace std;

int main () {
int a[]={1,2,3,4,5,6,7,8,9,10,11,12的};
int b[3][4];

for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 3; ++j){
if (i % 2 == 0)
b[j][i] = a[3*i+j];