日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言之基本算法32—鞍点

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言之基本算法32—鞍点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//數組
/*
==================================================================

題目:求隨意矩陣的全部鞍點。并統計個數。(在矩陣中,一個數在所在行中是最大值,

在所在列中是最小值。則被稱為鞍點。)

如: ?
1 ? 2 ? 3

4 ? 5 ? 6

7 ? 8 ? 9

當中,a[1][3]=3是該矩陣唯一的鞍點。
==================================================================
*/
#include<stdio.h>
#define N 300
void main()
{
int i,j,k,s=0;
int c,r,m,n;
int a[N][N];
printf("輸入方陣大小:\n行=");
scanf("%d",&m);
printf("列=");
scanf("%d",&n);
printf("輸入%d*%d矩陣:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\n===================\n矩陣形狀:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%4d ?",a[i][j]);
printf("\n");
}
printf("\n===================\n鞍點:\n");
for(i=0;i<m;i++)
{
c=0;
for(j=0;j<n;j++)
if(a[i][j]>a[i][c]) c=j;
r=0;
for(k=0;k<m;k++)
if(a[k][c]<a[r][c]) r=k;
if(r==i)
{
s++;
printf("a[%d][%d]=%2d ?",r+1,c+1,a[r][c]);
}
}
printf("\n共%d個鞍點\n",s);
}


/*
====================================================================
評:

關鍵點:查找每行中最大的元素。用for循環控制行,相當于求一行中最大的數。僅僅是如今

通過循環求全部行各自的最大元素!

并將此數的列數記在c中,此時c是動態的,在列已知

(已經是c)的情況下,求得該列中最小的元素,將行記在r中。假設正好這個行數與該列最

小元素所相應的行數相等,那么這就是一個鞍點,然后反復,直到完畢枚舉全部的可能點。

=====================================================================
*/





總結

以上是生活随笔為你收集整理的C语言之基本算法32—鞍点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。