Recherche valeur min dans un tableau ? [Résolu]

Signaler
Messages postés
9
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
5 décembre 2013
-
Messages postés
9
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
5 décembre 2013
-
Bonjour,

J'ai besoin de votre aide pour me corriger le code que j'ai crée ci-dessous.
ce code permet d'afficher la valeur minimale qui se trouve dans la colonne 5 dans un tableau qui contient 48 lignes et 6 colonnes (client[48][6].

code :

void find_min_tw(int col, int a[MAX][MAX],int n,int *min_tw, int *pos_tw)
{
  *min_tw=a[1][col];
  *pos_tw=1;
  int i;
  for(i=1;i<=n;i++)
    if(a[i][col]<*min_tw)
    {
       *min_tw=a[i][col];
       *pos_tw=i;
    }
}


find_min_tw(5,client,n,&min_tw,&pos_tw); // on cherche la fenêtre de temps la plus petite
printf("\n Le client %d a le fdt plus petit, valeur = %d ",pos_tw,min_tw);


je vous remercie pour vos réponses.

8 réponses

Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Yop!
for(i=1;i<=n;i++)

On parcours un tableau de 0 à N-1.
Sinon, à part ça, qu'est-ce qui ne va pas?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
9
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
5 décembre 2013

Il m'affiche ce message d'erreur !!

[Warning] passing arg 2 of `find_min_tw' from incompatible pointer type


merci
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012

int **a

ça ne va pas mieu comme ça ?
ps: j'ai pas fait le tour du reste mais un paramètre c'est un pointeur aucune allocation n'est supportée.
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Quels sont les types des variables que tu passes en paramètres? client notamment, d'après le message...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
9
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
5 décembre 2013

c bon j'ai trouvé la solution : le problème c'est que j'ai 6 colonnes ce qui donne a[MAX][6] et non pas a[MAX][MAX].

void find_min_tw(int a[MAX][6],int n,int *min_tw, int *pos_tw)
{
  *min_tw=a[1][5];
  *pos_tw=1;
  int i;
  for(i=1;i<=n;i++)
    if(a[i][5]<*min_tw)
    {
       *min_tw=a[i][5];
       *pos_tw=i;
    }
    
} 


Merci pour vos réponses.
@+
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Au risque de me répéter, on parcourt un tableau de 0 à N-1. Donc toi, tu sautes la 1ère case et tu lis une case en dehors du tableau. Méfies toi, ça va planter...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
Et si une réponse te convient, cliques sur "Réponse acceptée"


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
9
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
5 décembre 2013

oui t'as raison :) je suis désolé j'ai oublié de le faire.. voilà c fait


merci