C语言之基本算法32—鞍点
生活随笔
收集整理的這篇文章主要介紹了
C语言之基本算法32—鞍点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//數組
/*
==================================================================
1 ? 2 ? 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);
}
/*
====================================================================
評:
*/
/*
==================================================================
題目:求隨意矩陣的全部鞍點。并統計個數。(在矩陣中,一個數在所在行中是最大值,
在所在列中是最小值。則被稱為鞍點。)
如: ?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—鞍点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中科大开源数据集CCPD 2019详细介
- 下一篇: 第一课 回归问题与应用