C++编写程序,将3行4列的二维数组a中的每个元素逐行依次存放到一维数组中。

如题所述

#include <iostream>
#include <iomanip>
#define N 3 //行数
#define COL 4  //列数
using namespace std;
int main()
{
    int arr[N][COL]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; //二维数组,测试数据
    int brr[N*COL]={0}; //一维数组   
    int k=0;
    
    for(int i=0;i!=N;++i){
        for(int j=0;j!=COL;++j){
            brr[k++]=arr[i][j];   //将二维数组数据抄到一维数组
            cout<<arr[i][j]<<" ";  //同时输出二维数组内容
            }
        cout<<endl;  //每输出一行,断行
    }
    cout<<endl; 
    k=0;
    for(int i=0;i!=N*COL;++i){
        cout<<brr[i]<< ((++k%6==0 )?"\n":" ");//输出一维数组,
        //并利用三目运算符实现满6个数断行
    }
    
    return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-26

#include <cstdio>

int main(){
int k=0,b[12];
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
for(int i=0;i<3;i++)
for(int j=0;j<4;j++){
b[k]=a[i][j];
k++;
}
for(int i=0;i<12;i++)
printf("%d ",b[i]);
}

第2个回答  2018-10-26
#include<stdio.h>

void printvalue(int a[3][4])
{
int *p=a[0];
for(int i=0;i<12;i++)
{
printf("%x,",(int)p++);
}
printf("\n");
p=a[0];
for(int i=0;i<12;i++)
{
printf(" %d ",*p++);
}
}
int main()
{
int a[3][4]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
printvalue(a);
return 0;
}本回答被网友采纳

C++编写程序,将3行4列的二维数组a中的每个元素逐行依次存放到一维数组...
2,3,4},{5,6,7,8},{9,10,11,12}}; \/\/二维数组,测试数据 int brr[N*COL]={0}; \/\/一维数组 int k=0; for(int i=0;i!=N;++i){

C++编程题:手动输入一个3行4列的二维数组a,把二维数组a的每一行的最...
include<iostream>using namespace std;int main() {int a[3][4];int b[3],i,j,max;for(i=0;i<3;i++){for(j=0;j<4;j++){cin>>a[i][j];}}for(i=0;i<3;i++){max=a[i][0];for(j=1;j<4;j++){if(max<a[i][j]){max=a[i][j];}}b[i]=max;}cout<<"b...

编写一个程序,声明两个3行4列的二维数组,将其中一个数组初始化,再将此...
1) 启动Visual C++ 6.0;2) 新建一个“Win32 Dynamic-Link Library”工程,工程名称为“Count”;3) 在“Dll kind”选择界面中选择“A simple dll project”;4) 打开Count.cpp,添加如下代码:\/\/ 导出函数,使用“ _stdcall ” 标准调用extern "C" _declspec(dllexport)int _stdcall count(int init);int _stdca...

c++二维数组排序问题
你好,我先说一下算法吧,先把二维数组赋值到一个一维数组,然后利用for循环依次把第一个数和其他数依次比较,每次比较把较大数放在后面,一次循环下来数组中最大的数就在最后面了,做了(n-1)*(n -1)此比较换位后,数组就是升序数组了,然后循序输出数组值就OK了。include <stdio.h> void m...

在C++语言中,二维数组在内存中的存放顺序是什么?
二维数组在c++中存储,一般是按行存储的,就是将一行当作一维数组进行存储。例如:a[2][2]这个二维数组,其在内存中存储顺序为:a[0][0]a[0][1] \/\/先存储第一行a[1][0]a[1][1] \/\/再存储第二行。假设是32位系统,整型占4个字节,则其在内存的形式为:a[0][0]a[0][1]a[1]...

C语言作业 请编写,统计3行4列二维数组中有多少个正数,多少个负数,多少...
具体代码如下:void main(){ int a[3][4]; \/\/数组要先赋值才能进行比较 int i,j;int count_a; \/\/统计正数的个数 int count_b; \/\/统计负数的个数 int count_c \/\/统计零的个数 for(i=0;i<4;i++)for(j=0;j<5;j++)(if(a[i][j]>0)count_a++;else if(a[i]...

C++题目: 写一个函数将一个3*3的整型矩阵转置。
2、二维数组需要用两层循环输出,而算法是将一个3x3阶矩阵转置时,只需将主对角线右上方的数组元素“n[0][1]”、“n[0][2]”、“n[1][2]”,分别与主对角线左下放的数组元素“n[1][0]”、“n[2][0]”、“n[2][1]”的值通过一个临时变量进行交换即可实现矩阵的转置:3、最后一步...

请教C++ ,如何将一个二维数组的一行数字赋值给一个一维数组并输出
printf("%d\\n",temp)这里print的始终是temp的首地址 你应该是这样:printf("%d\\n",temp[i][j])这样才对 最后友情提示: 希望下次发问题的时候请注意缩进..看得好辛苦: )

用C++编写一个程序,计算一个二维数组中所有元素的平均值(用指针处理...
{ float a[M][N]={{1,2,3},{4,5,6},{7,8,9}}; \/\/定义一个M行N列的二维数组.float ave=0; \/\/累加总成绩,计算平均值.\/*方法1: 转化成一维指针*\/ float *p=(float *)a;for(int i = 0; i < M * N; ++i){ cout << *( p + i ) << " "; \/\/输出二维...

...列的情况下,如何把一组数据放到一个整型二维数组里
然后,找满足 行数 * 列数 == 共有这么多个数 的行数,列数。动态分配2 维数组,读入数据。程序如下:\/\/ 前2行是c++要的附加头文件,去掉这2行就是纯c程序 include<iostream> using namespace std;include <stdio.h> FILE *fin;int **a;main(){ int n;int i,j,nx,ny;fin = ...

相似回答