问题详情

给定一个m×n的数值矩阵A,如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点。


时间:2022-01-05 16:57 关键词: C#程序设计 计算机科学技术 大学试题 工学

答案解析

<p> inti,j,k,m=4,n=5,max,min;<br> int[,]array=newint[,]{{30,20,25,40,45},{80,19,70,90,11},{24,14,42,91,96},{32,17,82,72,38}};<br> Console.Write(&quot; {0}行{1}列的数值矩阵为:&quot;);<br> for(i=0;i<m;i++) br="">{<br> Console.WriteLine();<br> for(j=0;j<n;j++) br="">{<br> Console.Write(&quot;{0}&quot;,array[i,j]);<br> }<br> }<br> for(i=0;i<m;i++) br="">for(j=0;j<n;j++) br="">{<br> max=array[i,j];<br> min=array[i,j];<br> for(k=0;k<><min)min=array[i,k]; br="">for(k=0;k<m;k++)if(array[k,j]>max)max=array[k,j];<br> if(array[i,j]==max&amp;&amp;array[i,j]==min)<br> {<br> Console.WriteLine(&quot; 马鞍点是第{0}行,第{1}列的{2}&quot;,i,j,array[i,j]);<br> }<br> }</m;k++)if(array[k,j]><min)min=array[i,k];></min)min=array[i,k];></min)min=array[i,k];></n;j++)></m;i++)></n;j++)></m;i++)></p>