Min-max d'une matrice

Contenu du snippet

Etant donné une matrice A on dit qu'un couple d'indices (p,q) représente un min-max de cette matrice si Ap,q est un min de la ligne p et un max de la colonne q .Ce programme permet de trouver le minimum de la ligne p et en mémoriser les numéros de la colonne et pour chacun de ces rangs q, déterminer si Ap,q est un maximum pour sa colonne

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>

void minmax(int mat[][],int,int);

int main()
{
    int m[40][40],l,c,i,j;
	printf("Nombre de ligne : ");
	scanf("%d",&l);
	printf("Nombre de colonne : ");
	scanf("%d",&c);
	for(i=0;i<l;i++)
     {
       for(j=0;j<c;j++)
        {
          printf("\nValeur ligne %d colonne %d : ",i+1,j+1);
          scanf("%d",&m[i][j]);
        }
     }
    system("cls");
    minmax(m,l,c);
    return 0;
}

void minmax(int mat[40][40],int lg,int cl)
{
   int  p,z=1;
   int  t,j,num,i,s;
    p=0;

    do
     {

       t=mat[p][0];
             /*Recherche du minimun */
      for(j=1;j<cl;j++)
      {
       if(t>mat[p][j])
        {
         t=mat[p][j];
         num=j;
        }
       }
       s=1;
       /*Verifier si t est un maximun pour sa colonne*/
      for(i=0;i<lg;i++)
	 {
	   j=num;
      if(t>mat[i][j])
       s++;
	 }
	if(s>(lg-1))
      {
        printf("\n(%d,%d) est min-max et sa valeur est %d",p+1,num+1,t);
      }
	else
      {
          z++;
      }
       p++;
     }
    while(p<lg);
    if(z>lg)
     {
       printf("\nPas de min-max  ");
     }
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.