Besoin d'une petite aide ...

Signaler
Messages postés
17
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
12 mai 2011
-
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
-
j'ai ce programme qui cherche le min d'un tableau de 10 entiers . on renvoie sa position , pas sa valeur.

int MINTAB ( int T[10])
{
int i, min=0;
for (i=1;i<10;i++)
if (T[i]<T[min])
return min;
}

Voilà ma question est :

ne peut on pas écrire
int T[10];
{
int i, min = 0
ETC ....

???
si non vous pouvez m'expliquer pourquoi ?

et pourquoi on ecrit for ( i=1 ; i<10;i++)
et pas for (i= 0 ; i<10; i++) ?

5 réponses

Messages postés
17
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
12 mai 2011
1
Merci pour votre attention
Messages postés
17
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
12 mai 2011
1
PARDON DE MON ETOURDERIE après le If ... il faut ecrire min= i;
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Bonjour,
excuse-nous de ne pas avoir répondu plus tôt
As-tu déjà essayé ce programme? j'en doute.
Q1 : tout dépend si tu veux une fonction ou un bout de code qui cherche ce minimum d'un tableau à un certain endroit de ton code. Il faudra bien le remplir quelque part.
Q2 : on fait l'hypothèse que le premier élément du tableau est la valeur minimale au début de la fonction.

louis
Messages postés
17
Date d'inscription
dimanche 17 octobre 2010
Statut
Membre
Dernière intervention
12 mai 2011
1
en fait il s'agit d'un algorithme écrit dans mon cours dans la partie fonction et tableaux statiques .
en exemple il demande un algorithme qui cherche le min de 10 entiers , et qui renvoie ça position.

mais moi j'aurais pas écrit ça à la base et comme l'algo qui nous ait donné ne fonctionne pas vraiment... j'ai du mal à comprendre mes erreurs . et cette partie du cours.

voilà ce que j'aurais concrètement écrit :

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

int main()
{
int T[10];
int i, min;
min= T[0];
for (i=0; i<10; i++)
if (T[i]<min)
min=i;
printf("min :%d\n",min);
return 0;
}

MAIS ça n'a pas l'air de fonctionner ..

Merci Louis
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Il faudra savoir si tu veux gérer l'index ou la valeur du minimum:
soit
min T[0] et alors après if min T[i]
soit
min 0 et alors après if min i

et tu peux imprimer :
printf("min index %d val %d", i, T[i]);


louis