问题 4403 --遍历二维数组

4403: 遍历二维数组

题目描述

  用户首先输入两个整数m和n,然后输入m*n个元素,建立一个m*n的二维数组。要求使用 行指针 来遍历这个二维数组,输出该数组中所有元素的和。
提示:动态申请二维数组的方法
//动态申请二维数组

#includeusing namespace std;
int main()
{   
    int **a;  //指向指针的指针 
    int n,m;//n行 m列 
    int i,j;
    cin>>n>>m; //输入行数和列数
 
    //申请空间
    a= new int * [n];  //n个 int 指针 数组
    for(i=0;i//动态申请二维数组
#include <iostream>
using namespace std;
int main()
{   
    int **a;  //指向指针的指针 
    int n,m;//n行 m列 
    int i,j;
    cin>>n>>m; //输入行数和列数
 
    //申请空间
    a= new int * [n];  //n个 int 指针 数组
    for(i=0;i<n;i++)    //n个大小为m的一维数组
    {
        a[i]=new int[m]; //1个大小为m的一维数组,a[i]是int指针
    } 
 
    //输入数据
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            //cin>>a[i][j];//输入 
            cin>> *(*(a+i)+j);//同上a相当于行指针 
 
        }
    }
 
    //输出数据
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            //cout<<a[i][j]<<"\t";//输出 
            cout<< *(*(a+i)+j)<<"\t";
 
        }
        cout<<endl;
    }
    //释放申请的空间!!!
    for(i=0;i<n;i++) //释放n个大小为m的一维数组
    {
        delete []a[i]; 
    }
    delete []a;//释放int指针数组
    return 0;
}

输入

首先输入两个整数m和n,然后依次输入m*n个元素

输出

二维数组中所有元素的和

样例输入输出

输入#1 复制
2 3
1 3 5
2 4 6
输出#1 复制
21

提示

序号 标题 作者 发表时间 费用 订购数 操作