| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 183 人关注过本帖
标题:求大佬解决问题 怎样定义一个动态的二维数组 赋值之后再用函数求均值和最大 ...
只看楼主 收藏
Imagine_ima
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-1-10
结帖率:100%
  问题点数:0  回复次数:1   
求大佬解决问题 怎样定义一个动态的二维数组 赋值之后再用函数求均值和最大值
我的程序是这样(能改的好吗T_T)

#include <iostream>
using namespace std;
#include<iomanip>
using std::setw;

int max_a(int[][],int,int);
float mean_a(int[][],int,int);

int main()
{   int m,n;
    cout<<setw(8)<<"元素"<<setw(13)<<"数值"<<endl;
    cout<<"请输入二维数组的行数和列数"<<endl;
    cin>>m>>n;

    int myint[m][n];
    int sum=0;
    for(int j=0;j<m;j++)
         for(int i=0;i<n;i++)
    {

            myint[j][i]=j*i;
            sum=sum+myint[j][i];
                   // cout<<endl;
         cout<<"myint["<<j<<"]"<<"["<<i<<"] "<<myint[j][i]<<"  ";
         cout<<endl;
    }

    cout<<"二维数组元素的总和为"<<sum<<endl;
    cout<<"二维数组元素的最大值为"<<max_a(myint[m][n],m,n)<<endl;
    cout<<"二维数组元素的平均值为"<<mean_a(myint[m][n],m,n)<<endl;

     return 0;
};
int max_a(int myint[m][n],int m,int n)
{
    int b=myint[0][0];
    for(int i=0;i<m;i++)
        for(int j=0;j<n;j++)
    {
        if(myint[i][j]>b)b=myint[i][j];
    };
    return b;
};



int mean_a(int myint[m][n],int m;int n)
{
    int d=0,e;
    for(int i=0;i<m;i++)
        for(int j=0;j<m;j++)
    {
        d=d+myint[i][j];
    };
    e=d/(m+n);
   return e;
}
2018-01-10 19:42
rjsp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:236
帖 子:5491
专家分:30738
注 册:2011-1-18
  得分:0 
程序代码:
#include <iostream>
#include <iomanip>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;

int main( void )
{
    cout<<"请输入二维数组的行数和列数"<<endl;
    size_t row, col;
    cin >> row >> col;

    vector<int> arr( row*col );
    for( size_t r=0; r!=row; ++r )
        for( size_t c=0; c!=col; ++c )
            arr[r*col+c] = int(r*c);

    int total = std::accumulate(arr.begin(),arr.end(),0);
    cout << "二维数组元素的总和为" << total << endl;
    if( !arr.empty() )
    {
        cout << "二维数组元素的最大值为" << *std::max_element(arr.begin(),arr.end()) << endl;
        cout << "二维数组元素的平均值为" << total*1.0/arr.size() <<endl;
    }

    return 0;
}
2018-02-07 16:28







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.218581 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved