24小时热门版块排行榜    

查看: 1561  |  回复: 12

永远亲爱

铜虫 (初入文坛)

[求助] C++中,如何将二维数组读到一维中,并且是按列读取。(有程序望修改)(注意不是按行) 已有2人参与

......
int main()
{
        int a[2][3]={1,2,3,4,5,6};
        int b[6];
        int i,j;
        for(i=0;i<2;i++)
        {
                for(j=0;j<3;j++)
                {
                        b[i*3+j] = a[j];
                }
        }
        for(i=0;i<6;i++)
        {
                cout<<" "<<b;
        }
        return 0;
}
上面这个是我在VC++6.0中编译的,可是这个是按行输出到一维数组,怎么让它按列输出到一个数组中?希望可以帮忙修改一下这个程序O(∩_∩)O~
回复此楼
努力,奋斗
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

netivs

专家顾问 (知名作家)

DataHacker

【答案】应助回帖

感谢参与,应助指数 +1
金币好像太少了点吧
机器学习爱好者
2楼2014-02-27 01:07:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

永远亲爱

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by netivs at 2014-02-27 01:07:32
金币好像太少了点吧

主要是新手,一共就30个金币,你要是能修改出来,我可以加到10个
努力,奋斗
3楼2014-02-27 09:10:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

june2015

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
永远亲爱: 金币+5, ★★★★★最佳答案, 很好 2014-02-27 11:06:52
#include <iostream>
using namespace std;
int main()
{
        int i,j,k=0;
        int a[2][3]={1,2,3,4,5,6};
        int b[6];
        for(j=0;j<3;j++)
        {
                for(i=0;i<2;i++)
                {
                        b[k++]=a[j];
                }
        }
        for(k=0;k<6;k++)
        {
                cout<<b[k]<<" ";
        }
        return 0;
}
也是新手来的,写了一个,你试试
4楼2014-02-27 10:35:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

june2015

新虫 (初入文坛)

第12行是a[j],不会贴代码,有点问题
5楼2014-02-27 10:37:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

永远亲爱

铜虫 (初入文坛)

引用回帖:
5楼: Originally posted by june2015 at 2014-02-27 10:37:01
第12行是a,不会贴代码,有点问题

谢谢你哦,我运行了可以成功,还有一点小疑问,现在二维数组a是3列,能否一维数组b输出时可以按指定列输出,例如输出一维时只要第三列给,那么再要加哪些语句呢?
努力,奋斗
6楼2014-02-27 11:06:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

june2015

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 永远亲爱 at 2014-02-27 11:06:10
谢谢你哦,我运行了可以成功,还有一点小疑问,现在二维数组a是3列,能否一维数组b输出时可以按指定列输出,例如输出一维时只要第三列给,那么再要加哪些语句呢?...

一维数组第三个吗?还是什么意思,cout<<b[2]<<endl就可以啦
7楼2014-02-27 15:26:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

永远亲爱

铜虫 (初入文坛)

引用回帖:
7楼: Originally posted by june2015 at 2014-02-27 15:26:38
一维数组第三个吗?还是什么意思,cout<<b<<endl就可以啦...

我又想了一下,是这样,就是现在有一个二维数组a[5][6],5行6列,现在要求将第n(如n=5)列的数输出到一个一维数组中,该怎么修改上面那个程序呢?
努力,奋斗
8楼2014-02-27 16:36:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fuxiaoye

新虫 (初入文坛)

#include <iostream>
using namespace std;
int main()
{
    int row=5,col=6,maxsize=100;
    int i,j,n,k=0;
    int a[maxsize][maxsize],b[maxsize];
    //用12345初始化数组
    for(i=0;i<row;i++)
    {
        for(j=0;j<col;j++)
        {
        a[j]=i*col+j+1;
        cout << a[j] << " ";
        }
        cout << endl;
    }
        
        cout << "要第几列?"<<endl;
        cin>>n;
                for(i=0;i<row;i++)
                {
                        b[k++]=a[n-1];
                }
        
        for(k=0;k<col;k++)
        {
                cout<<b[k]<<" ";
        }
        cout << endl;
        system("pause";
        return 0;
        
}
9楼2014-02-27 19:10:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fuxiaoye

新虫 (初入文坛)

居然出了个害羞的表情,我去,麻烦把pause那行删了吧。。。编译器差异
10楼2014-02-27 19:11:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 永远亲爱 的主题更新
信息提示
请填处理意见