Langage C | trouver des points de selle dans un tableau à deux dimensions

Exemple 64: L'implémentation du langage C trouve le point de selle dans un tableau à deux dimensions, c'est-à-dire que l'élément à cette position est le plus grand de la ligne et le plus petit de la colonne. Il peut également n'y avoir aucun point de selle.

Analyse: lorsque les lecteurs examinent la question, ils doivent d'abord comprendre ce qu'est un point de selle, d'abord trouver l'élément avec la plus grande valeur dans une ligne, puis vérifier s'il s'agit de la plus petite valeur de la colonne, si c'est le cas, c'est un point de selle et affichez le point de selle; si Non, recherchez le plus grand nombre dans la rangée suivante ... Si le plus grand nombre de chaque rangée n'est pas un point de selle, ce tableau n'a pas de points de selle.

Démo du code source:

#include<stdio.h>//头文件 
#define N 3 //宏定义 
#define M 4 //宏定义 
int main()//主函数 
{
    
    
  int i,j,k,a[N][M],max,maxj,flag;//定义整型变量和二维数组 
  printf("请输入数组:\n");//提示语句 
  for(i=0;i<N;i++)
  {
    
     
    for(j=0;j<M;j++)
    {
    
    
      scanf("%d",&a[i][j]);//往数组里存数 
    }
  }
  for(i=0;i<N;i++)
  {
    
    
    max=a[i][0]; //开始时假设a[i][0]最大 
    maxj=0; //将列号0赋给maxj保存 
    for(j=0;j<M;j++) //找出第i行中的最大数 
    {
    
    
      if(a[i][j]>max)
      {
    
    
        max=a[i][j]; //将本行最大的数放在max中 
        maxj=j; //将最大数所在的列号存放在maxj中 
      }
    } 
    flag=1; //先假设是鞍点,以flag为1代表 
    for(k=0;k<N;k++)
    {
    
    
      if(max>a[k][maxj])
      {
    
     //将最大的数和其同列元素相比 
        flag=0; //如果max不是同列最小,表示不是鞍点 
        continue;
      }
    }
    if(flag)
    {
    
    
      printf("a[%d][%d]=%d\n",i,maxj,max); //输出鞍点的值和所在行列号 
      break;
    }
  }
  if(!flag)
  {
    
     
    printf("鞍点不存在!\n");//提示语句 
  }
  return 0;//主函数返回值为0 
}

Les résultats de la compilation et de l'exécution sont les suivants:

请输入数组:
1 2 3 4
5 6 7 8
9 10 11 12
a[0][3]=4

--------------------------------
Process exited after 10.52 seconds with return value 0
请按任意键继续. . .

Ci-dessus, si vous le voyez et pensez qu'il vous est utile, merci de donner un coup de pouce à Xiaolin et de le partager avec les gens autour de lui, afin que Xiaolin ait également la motivation de mettre à jour, merci les pères et les villageois ~

Langage C pour trouver le point de selle dans un tableau à deux dimensions
Plus de cas peuvent aller au compte public: entrée en langage C pour compétent

Je suppose que tu aimes

Origine blog.csdn.net/weixin_48669767/article/details/112799085
conseillé
Classement