begin process at 2012 05 29 01:21:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

un coup de main svt ^^


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

un coup de main svt ^^

dimanche 1 novembre 2009 à 15:11:05 | un coup de main svt ^^

monsi7

Bonjour je dois realiser un programme qui dans un tableau a 2 dimensions (matrice) recherche le max de chaque ligne puis en prend le minimum(de tous les max) et nous affiche la position de ce min ds le tableau. Quelqu'un peut m'aider parce que la je seche vraiment sur cet exercice. Merci a tous ceux qui repondront.
dimanche 1 novembre 2009 à 15:34:44 | Re : un coup de main svt ^^

stagiairecpp

Salut,

Un truc du genre (à vérifier) :

Code C/C++ :
// Tu as ta matrice[ylength][xlength]

int x, y, xmem=-1, ymem=-1, xmax, mindesmax=0x7FFFFFFF;

for( y=0; y<ylength; y++)
{
   xmax=-0x7FFFFFFE;

   for( x=0; x<xlength; x++)
   {
      if( matrice[y][x]>xmax)  { xmax= matrice[y][x]; }
   }

   if( xmax<mindesmax)   // '<' pour avoir le premier, '<=' pour avoir le dernier
   {
      mindesmax= xmax;
      xmem= x;
      ymem= y;
   }
}

// Ici tu as ton résultat mindesmax en position [ymem][xmem] dans ta matrice
// Dans le cas particulier ou absolument toutes les valeurs sont égales à -0x7FFFFFFE alors tu auras mindesmax=-0x7FFFFFFE et
//  - si tu as choisi de sortir le premier tu auras xmem=-1 et ymem=-1
//  - si tu as choisi de sortir le dernier tu auras xmem=xlength-1 et ymem=ylength-1


@+
dimanche 1 novembre 2009 à 16:25:22 | Re : un coup de main svt ^^

stagiairecpp

Re,

J'ai écris ça rapidement mais en repassant je me dis que pour ne pas avoir de cas particulier il te suffit en fait de mettre :
xmem=0, ymem=0
au lieu de
xmem=-1, ymem=-1

@+
dimanche 1 novembre 2009 à 16:29:42 | Re : un coup de main svt ^^

monsi7

Merci mais j'ai oublié de preciser en fait il faut que je fasse ca avec une fonction et des pointeurs c'est a cause de ca que j'y arrive pas .
dimanche 1 novembre 2009 à 16:37:23 | Re : un coup de main svt ^^

stagiairecpp

Re,

Alors fais déjà voir ce que tu as fait et explique précisément ce qui ne fonctionne pas ou que tu ne comprends pas.

@+
dimanche 1 novembre 2009 à 16:40:12 | Re : un coup de main svt ^^

monsi7

voila ma fonction

void Position_Min(int nlig,int ncol,int mat[][NBCOLMAX],int *l,int *c)
{
int i,j,lig,col,max,min;
min=21;
for(i=0;i<nlig;i++)
{
max=0;
for(j=0;j<ncol;j++)
{
if(mat[i][j]>max)
{
max=mat[i][j];
lig=i;col=j;
}
}
if(max<min)
{
min=max;
*l=lig;
*c=col;
}
}
}
dimanche 1 novembre 2009 à 17:50:31 | Re : un coup de main svt ^^

stagiairecpp

Re,

Et ta matrice elle est crée comment ?
Fais voir à quoi elle ressemble (déclaration, allocation et initialisation).

@+
dimanche 1 novembre 2009 à 17:53:09 | Re : un coup de main svt ^^

monsi7

ma matrice est bonne en fait j'ai une librairie avec plein de fction sur les matrices il y a pas de prob a ce niveau la
dimanche 1 novembre 2009 à 18:11:54 | Re : un coup de main svt ^^

stagiairecpp

Bon alors je te file une solution pour ton problème précis.

Mais ça n'est pas vraiment t'aider et je te conseille de comprendre sinon tu n'iras pas loin en C/Cpp.

Code C/C++ :
#include <stdio.h>

#define NBCOLMAX 0xFF

void MinDesMax( int xlength, int ylength, int matrice[][NBCOLMAX], int *mindesmax, int *xmem, int *ymem)
{
    int x, y, xmax;

    *mindesmax=0x7FFFFFFF;
    *xmem=0;
    *ymem=0;

    for( y=0; y<ylength; y++)
    {
        xmax=0;

       for( x=1; x<xlength; x++)
       {
          if( matrice[y][x]>matrice[y][xmax])   // '>' pour avoir le premier, '>=' pour avoir le dernier
          {
              xmax= x;
          }
       }

       if( matrice[y][xmax]<*mindesmax)   // '<' pour avoir le premier, '<=' pour avoir le dernier
       {
          *mindesmax= matrice[y][xmax];
          *xmem= xmax;
          *ymem= y;
       }
    }
}

int main()
{
    // Exemple, mais tu fais ça dynamiquement
    int xlength=4, ylength=5;
    int matrice[][NBCOLMAX]= {
        { 21, 46, 94, 47 },
        { 45, 83, 64, 15 },
        { 14, 57, 42, 51 },
        { 98, 15, 36, 74 },
        { 17, 29, 98, 66 } };

    int xmem, ymem, mindesmax;

    MinDesMax( xlength, ylength, matrice, &mindesmax, &xmem, &ymem);

    printf("%i en [%i][%i]", mindesmax, ymem, xmem);

    return 0;
}


@+


Cette discussion est classée dans : tableau, max, main, coup, svt


Répondre à ce message

Sujets en rapport avec ce message

Nouveau PB avec tableau en C [ par SniPi ] Comment on fait pr faire ce tableau:Saisir une valeur MaX, le programme remplit alors automatikmenet le tableau avec des valeurs aléatoires inférieure Quelle est la taille max d'1 tableau de car? [ par unclecrufek ] Est-ce possible de dimensionner un tableau de caracteres de maniere a ce qu'il contenir plusieur centaine de car? tableau dynamique de structures (niveau debutant) [ par SYL666 ] bonjour,j'ai un petit probleme: j'aimerai definir un tableau dynamique dont la taille n'est connu qu'a l'execution.voila mon code:{ long max; struct "Interfacer" le C et le VHDL [ par GUERRIER_ABSOLU ] Bonjour,Je voudrais savoir s'il est possible d'interfacer le C et le VHDL. Je veux dire pouvoir faire communiquer un programme (non synthétisable) en Donner un coup de main pour un projet sympa :) [ par patfac1 ] Salut tous :) J'ai récemment découvert un site où un developper est en train de contruire une interface graphique dans le style de celle looking glass Pb à l'exécution [ par tomalille ] Bonjour,J'ai un petit pb à l'execution de ce prog. Il compile et les liens sont fait sans erreur ni warning. Par contre lorsque j'appelle le sous-prog Un tableau statique dans une méthode: c'est mal? [ par harddisk ] Bonjour,j'ai une méthode qui retourne un int (code ci-dessous):chercher une couleur dans une main de cartes, une main comprenant en membre un tableau Tableau en C [ par Mickylord ] Bonsoir a tous !Voici ma question :J'ai une fonction principale, main(), et une autre fonction tab(). Je voudrais déclarer un tableau dans la fonction Fonction qui retourne un tableau [ par Kurul1 ] Bonjour à tous   J'ai une classe contenant un tableau a deux dimensions comme variable private  Ce que je voudrais c'est une fonction ayant pour param tri tableau en ligne [ par TWITTI ] bonjour , je suis etudiant en mécanique et la programmtion c est embetant pour moi.J ai un probleme sur mon programme main().Je n arrive pas a faire


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,654 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales