早教吧作业答案频道 -->其他-->
寻找矩阵的鞍点输入:第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有0和1个鞍点)34135323413267输出:Point:a[1][2]==4(下标从0开始)#includeintmain(){intn,m,a[50
题目详情
寻找矩阵的鞍点
输入:第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有0和1个鞍点)
3 4
1 3 5 3
2 3 4 1
3 2 6 7
输出:
Point:a[1][2] == 4 (下标从0开始)
# include
int main()
{
int n,m,a[50][50],i,j,k = 0,t = 0,p = 0,q = 0;
scanf("%d %d",&n,&m);
for(i = 0;i < n;i++)
{
for(j = 0;j < m;j++)
scanf("%d",&a[i][j]);
}
for(i = 0;i < n;i++)
{
for(j = 0;j < m;j++)
{
if(a[i][j] > k)
{
k = a[i][j];
p = i;
t = j;
}
}
for(i = 0;i < n;i++)
{
if(a[i][t] < k)
break;
}
if(i == n)
{
q++;
printf("Point:a[%d][%d]==%d\n",p,t,k);
}
}
if(q == 0)
printf("No Point\n");
return 0;
}
为什么输出无结果?
输入:第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有0和1个鞍点)
3 4
1 3 5 3
2 3 4 1
3 2 6 7
输出:
Point:a[1][2] == 4 (下标从0开始)
# include
int main()
{
int n,m,a[50][50],i,j,k = 0,t = 0,p = 0,q = 0;
scanf("%d %d",&n,&m);
for(i = 0;i < n;i++)
{
for(j = 0;j < m;j++)
scanf("%d",&a[i][j]);
}
for(i = 0;i < n;i++)
{
for(j = 0;j < m;j++)
{
if(a[i][j] > k)
{
k = a[i][j];
p = i;
t = j;
}
}
for(i = 0;i < n;i++)
{
if(a[i][t] < k)
break;
}
if(i == n)
{
q++;
printf("Point:a[%d][%d]==%d\n",p,t,k);
}
}
if(q == 0)
printf("No Point\n");
return 0;
}
为什么输出无结果?
▼优质解答
答案和解析
using namespace std;
int s1[50][50]={0},x,y,a,b,n=0,m;//s1记录矩阵,x y记录矩阵大小,a b为循环变量,m记录选定的点
bool o;//判断使用
int main()
{
cin>>x>>y;//读入xy
for(a=1;a<=x;a++)
for(b=1;b<=y;b++) cin>>s1[a][b];//读入矩阵
for(a=1;a<=x;a++)//循环列
{
o=true;
for(b=1;b<=y;b++)//从当前行中选出最大的数
{
if((n==0)||(s1[a][b]>n)) {n=s1[a][b];m=b;}//选出最大数
}
for(b=1;b<=x;b++)//从选定的数中,判断这个数在列中是否最小
{
if(n>s1[b][m]) {o=false;n=0;break;}如果不是最小则o=false,选定数n归0,跳出循环,重新选数
}
if(o) cout<}
}
表示我看不懂你的代码,不过你可以参考一下我的代码
#includeusing namespace std;
int s1[50][50]={0},x,y,a,b,n=0,m;//s1记录矩阵,x y记录矩阵大小,a b为循环变量,m记录选定的点
bool o;//判断使用
int main()
{
cin>>x>>y;//读入xy
for(a=1;a<=x;a++)
for(b=1;b<=y;b++) cin>>s1[a][b];//读入矩阵
for(a=1;a<=x;a++)//循环列
{
o=true;
for(b=1;b<=y;b++)//从当前行中选出最大的数
{
if((n==0)||(s1[a][b]>n)) {n=s1[a][b];m=b;}//选出最大数
}
for(b=1;b<=x;b++)//从选定的数中,判断这个数在列中是否最小
{
if(n>s1[b][m]) {o=false;n=0;break;}如果不是最小则o=false,选定数n归0,跳出循环,重新选数
}
if(o) cout<
}
看了寻找矩阵的鞍点输入:第一行为矩...的网友还看了以下:
辽中南工业地区中钢铁工业基地是:()A.天津和北京B.宝山和马鞍山C.本溪和鞍山D.武汉和大冶 2020-05-02 …
[线代]初等矩阵的问题010100001是初等矩阵E(1,2),其逆阵就是其本身.10101000 2020-05-22 …
1、定义一个N*N的矩阵,输出其对角线元素、上三角矩阵和下三角矩阵;2、编程实现N阶方阵的乘法运算 2020-06-10 …
线性代数可逆求解~设A、B、C、D均为n阶方阵,证明(1)分块矩阵P=(AB)可逆的充分必要条件是 2020-06-23 …
2、设矩阵A=2-1-1,-12-1,-1-12,2、设矩阵A=2-1-1,-12-1,-1-12 2020-06-30 …
设矩阵P^(-1)*A*P=B,已知P和B,求A^11?其中P为一般矩阵,B为对焦矩阵,解:依题意 2020-07-10 …
设有一个6×6的方阵,VB求方阵中最小的元素的位置和值1.设有一个6×6的方阵,其中的元素是随机产 2020-08-02 …
矩阵和数列的综合填空设矩阵A=(bc)(de),称为函数:f(x)=bx+c/dx+e的系数矩阵, 2020-08-02 …
15.读东北三省主要矿产资源分布图和鞍山市工业结构图(2010年),回答下列问题。(1)东北三省发展 2020-11-05 …
寻找矩阵的鞍点输入:第一行为矩阵的行数和列数,从第二行开始,为矩阵本身(假设输入的矩阵只有0和1个鞍 2020-12-15 …