Tableau en C
Fermé
flolarajasse
Messages postés
103
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
23 juin 2011
-
19 avril 2010 à 10:25
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 avril 2010 à 14:43
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 avril 2010 à 14:43
A voir également:
- Tableau en C
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
19 avril 2010 à 10:49
19 avril 2010 à 10:49
Bonjour,
Soit min la variable qui contient le plus petit élément.
Tu l'initialises avec la première valeur du tableau.
Tu parcours tous les éléments du tableau avec une boucle for et dès que l'élément en cours est plus petit que min, tu le sauvegardes dans min (simple if). Ainsi min contiendra à chaque itération la plus petite valeur.
A la fin de la boucle for, tu es assuré d'avoir la plus petite valeur.
Cdlt,
Soit min la variable qui contient le plus petit élément.
Tu l'initialises avec la première valeur du tableau.
Tu parcours tous les éléments du tableau avec une boucle for et dès que l'élément en cours est plus petit que min, tu le sauvegardes dans min (simple if). Ainsi min contiendra à chaque itération la plus petite valeur.
A la fin de la boucle for, tu es assuré d'avoir la plus petite valeur.
Cdlt,
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
19 avril 2010 à 11:19
19 avril 2010 à 11:19
ce qui donne :
const unsigned int N=...; T tab[N]; rempli(tab);//fonction de remplissage unsigned long int m=tab[0]; T* t; for(t=tab+1;t+1!=tab+N;t++)m>*t?m=*t:1;
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
19 avril 2010 à 13:21
19 avril 2010 à 13:21
C'est interdit en C-Ansi de mettre une variable ou constante pour définir la taille d'un tableau.
Il vaut mieux passer par un bon vieux #define.
Il vaut mieux passer par un bon vieux #define.
flolarajasse
Messages postés
103
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
23 juin 2011
14
19 avril 2010 à 14:02
19 avril 2010 à 14:02
En effet c'est interdit .
Le soucis c'est que j'avais fait un bout de programme pour récupérer la plus grande valeur, mais pour la plus petite je ne vois pas ce qu'il faut changer à ce programme...
Le soucis c'est que j'avais fait un bout de programme pour récupérer la plus grande valeur, mais pour la plus petite je ne vois pas ce qu'il faut changer à ce programme...
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
19 avril 2010 à 14:17
19 avril 2010 à 14:17
en général "<" par ">".
Pour le tableau, c'est accepté en C99, donc standard.
Pour le tableau, c'est accepté en C99, donc standard.
flolarajasse
Messages postés
103
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
23 juin 2011
14
19 avril 2010 à 14:27
19 avril 2010 à 14:27
ne t'inquiètes j'ai essayé mais sa ne marche pas ; voici le code que j'avais :
for (i = 0 ; i < 6 ; i ++)
{
printf(usb_cdc_putc, "%lu \n\r", tableau[i]);
if (greatest < tableau[i])
{
greatest = tableau[i];
}
}
for (i = 0 ; i < 6 ; i ++)
{
printf(usb_cdc_putc, "%lu \n\r", tableau[i]);
if (greatest < tableau[i])
{
greatest = tableau[i];
}
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
19 avril 2010 à 14:43
19 avril 2010 à 14:43
A Char Snipeur,
Oui c'est en effet accepté par C99, mais rare sont les compilateurs (d'ailleurs j'en connais pas) qui respectent entièrement la norme C99. Donc autant rester si possible en ANSI pour augmenter la portabilité.
Mais t'as raison de préciser que c'est possible, tout comme plein d'autres joyeusetés.
Oui c'est en effet accepté par C99, mais rare sont les compilateurs (d'ailleurs j'en connais pas) qui respectent entièrement la norme C99. Donc autant rester si possible en ANSI pour augmenter la portabilité.
Mais t'as raison de préciser que c'est possible, tout comme plein d'autres joyeusetés.