首页 > 技术文章 > 二维数组字数组最大值

weishengzuimo 2015-04-13 10:51 原文

1、设计思路

现在主函数中输入二维数组,然后在用另一个函数通过四重循环(两重循环确定二维子数组第一个数字然后两重循环确定子数组有几行几列)来算出子数组和的最大值

2、代码

#include<iostream>
using namespace std;

int Largest(int list[][100], int line,int file);

int main()
{
    int list[100][100];
    int line,file,i,j,N;
    cout<<"请输入二维数组的行数:";
    cin>>line;
    cout<<"请输入二维数组的列数:";
    cin>>file;
    N=line*file;

    if (line==0||file==0)
    {
        cout<< "数组行列不能为零!!"<<endl;
    }

    cout << "请输入" <<N<< "个整数:";

    for (i = 0;i<line; i++)
    {
        for(j=0;j<file;j++)
        {
            cin >> list[i][j];
        }
    }
    cout << "这个数组的最大值是:" << Largest(list,line,file) << endl;
    return 0;
}

int Largest(int list[][100], int line,int file)
{
    int i,j,m,n,a,b,X,max=list[0][0];
    for (i=1;i<line;i++)
    {
        for(j=1;j<file;j++)
        {
            X=0;
            for(m=i;m<line;m++)
            {
                for(n=j;n<file;n++)
                {
                    X=X+list[m][n];
                }
            }
            if (X>max)
            {
                max=X;
            }
        }
    }
    return max;
}

3、实验截图

4、实验总结

实现过程中数组输入的实现没什么问题,困难主要在于循环和字数组求和的结合,通过这次试验我体会到了变成过程的乐趣

 

推荐阅读