c++输入一个5行5列的二维数组,求最大值和最小值其对应行列的位置。。

没有一点逻辑啊,请大神用#include<iostream.h>些尽简单的语句来写,怕看不懂··自己写的但是不对劲啊。没学C直接C++了。#include<iostrea... 没有一点逻辑啊,请大神用 #include<iostream.h> 些尽简单的语句来写,怕看不懂··

自己写的 但是不对劲啊。没学C直接C++了。
#include<iostream.h>

void main()

{
int i;
int j;
int max;
int min;
int row;
int col;
int a[5][5]={{1,2,3,4,5},{2,3,4,5,6,},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9}};
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(a[i][j]>max)
{max=a[0][0];
max=a[i][j];
row=i;
col=j;
cout<<"max:"<<max;
}
min = a[0][0];
row=0;col=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(a[i][j]<min)
{
min=a[i][j];
row=i;
col=j;
cout<<"min:"<<min;
}

}
展开
 我来答
问明6E
高粉答主

2019-06-10 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

using System;

class Program

{

static void Main(string[]args)

{

int[,]array=new int[4,4];

int i,j,k;

int max,min,max_row,max_col,min_row,min_col,sum=0;

string str1,str2="";

Console.WriteLine("请输入五行数据,每行五个数据,以空格隔开,每行输入完之后回车(输入格式不对会出错):");

for(i=0;i&lt;4;i++)

{

str1=Console.ReadLine();

j=0;

k=0;

while(j&lt;str1.Length)

{

if(str1[j]!='')

str2+=str1[j];

else

{

array[i,k++]=int.Parse(str2);

str2="";

}

j++;

}

array[i,k]=int.Parse(str2);

str2="";

}

max=min=array[0,0];

max_row=max_col=1;

min_row=min_col=1;

for(i=0;i&lt;4;i++)

for(j=0;j&lt;4;j++)

{

if(max&lt;array[i,j])

{

max=array[i,j];

max_row=i+1;

max_col=j+1;

}

if(min&gt;array[i,j])

{

min=array[i,j];

min_row=i+1;

min_col=j+1;

}

}

for(i=0;i&lt;4;i++)

sum+=array[i,i];

Console.WriteLine("最大数为:{0},位置是:第{1}行,第{2}列",max,max_row,max_col);

Console.WriteLine("最小数为:{0},位置是:第{1}行,第{2}列",min,min_row,min_col);

Console.WriteLine("对角线上的元素之和为:{0}",sum);

}

}

return0;

扩展资料:

return的用法:

return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式

函数的定义一般是这样的,例如:

inta(inti)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字

...//省略函数体内容

returnb;//b必须与函数头的返回值一致(此处为int型)

简单函数举例:

lgao622
2015-08-12 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
#include <iostream>
using namespace std;

int main()
{
    int a[5][5];
    for (int row = 0; row < 5; row++)
        for (int col = 0; col < 5; col++)
            scanf("%d", &a[row][col]);
    int max, min, maxRow, maxCol, minRow, minCol;
    max = min = a[0][0];
    for (int row = 0; row < 5; row++)
        for (int col = 0; col < 5; col++)
        {
            if (a[row][col] > max)
            {
                max = a[row][col];
                maxRow = row;
                maxCol = col;
            }
            if (a[row][col] < min)
            {
                min = a[row][col];
                minRow = row;
                minCol = col;
            }
        }
    cout << "max: " << max << ", row: " << maxRow << ", col: " << maxCol << endl;
    cout << "min: " << min << ", row: " << minRow << ", col: " << minCol << endl;
    return 0;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云淡风轻in苏州
2014-04-15 · TA获得超过599个赞
知道小有建树答主
回答量:418
采纳率:0%
帮助的人:554万
展开全部
#include<iostream.h>

void main()

{
int i;
int j;
int a[5][5]={{1,2,3,4,5},{2,3,4,5,6,},{3,4,5,6,7},{4,5,6,7,8},{5,6,7,8,9}};
//最大最小先初始为第一个元素
int max = a[0][0];
int min = a[0][0];
int min_row = 0;
int min_col = 0;
int max_row = 0;
int max_col = 0;

for(i = 0; i < 5; ++i)
{
for(j = 0; j < 5; ++j)
{
if(a[i][j] > max)
{
max = a[i][j];
max_row = i;
max_col = j;
}

if(a[i][j] < min)
{
min = a[i][j];
min_row = i;
min_col = j;
}

}
}

cout<<"最小值是a["<<min_row<<","<<min_col<<"]值为"<<min<<endl;
cout<<"最大值是a["<<max_row<<","<<max_col<<"]值为"<<max<<endl;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4a058873bd
2014-04-15 · TA获得超过164个赞
知道小有建树答主
回答量:170
采纳率:100%
帮助的人:141万
展开全部
一个循环就能搞定的事情,非得用两个循环。看来很多人从来不关心算法的复杂度啊!
追问
怎么一个循环搞定啊? 不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式