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
-
cur2009
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
14711
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 janvier 2020
90
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
14711
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 janvier 2020
90
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
14711
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 janvier 2020
90
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
14711
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 janvier 2020
90
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