Tableau en c
Fermé
hayam_kin
Messages postés
3
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
25 mars 2006
-
25 mars 2006 à 12:36
Raleva - 1 févr. 2011 à 20:59
Raleva - 1 févr. 2011 à 20:59
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
6 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 mars 2006 à 14:10
25 mars 2006 à 14:10
Salut,
ca pourra t'aider. Regarde ici un code qui trouve le plus grand et le plus petit nombre parmi 5 nombres et aussi leur position. A toi d'adapter à ton problème.
https://forums.commentcamarche.net/forum/affich-1956018-resoudre-un-algorithme-lisez-le-svp#5
Resultat sans doublons :
Je préfère la version Perl https://forums.commentcamarche.net/forum/affich-1956018-resoudre-un-algorithme-lisez-le-svp#3
ca pourra t'aider. Regarde ici un code qui trouve le plus grand et le plus petit nombre parmi 5 nombres et aussi leur position. A toi d'adapter à ton problème.
https://forums.commentcamarche.net/forum/affich-1956018-resoudre-un-algorithme-lisez-le-svp#5
[lamitest@localhost bin]$ ./nb_min_max Entrez les 5 nombres (separés par espace) : 2 5 9 2 5 Le nombre plus grand est : 9 dans la position 3 Le nombre plus petit est : 2 dans la position 4Ce code ne gére pas les doublons.
Resultat sans doublons :
[lamitest@localhost bin]$ ./nb_min_max Entrez les 5 nombres (separés par espace) : 25 9 8 5656 2 Le nombre plus grand est : 5656 dans la position 4 Le nombre plus petit est : 2 dans la position 5 [lamitest@localhost bin]$
Je préfère la version Perl https://forums.commentcamarche.net/forum/affich-1956018-resoudre-un-algorithme-lisez-le-svp#3
[lamitest@localhost bin]$ perl my_perl_script/algo_nb_ccm031205.pl Fixez le nombre N, 5 par défaut: 10 Entrez le nombre 1 : 2 Entrez le nombre 2 : 5 Entrez le nombre 3 : 45 Entrez le nombre 4 : 2 Entrez le nombre 5 : 45 Entrez le nombre 6 : 2 Entrez le nombre 7 : 565 Entrez le nombre 8 : 2 Entrez le nombre 9 : 565 Entrez le nombre 10 : 48 Vous avez entrez les nombres suivantes : 2, 5, 45, 2, 45, 2, 565, 2, 565, 48 Le plus grand nombre est : 565. Saisie 2 fois. Trouvé dans les positions 7, 9. Le plus petit nombre différent de 0 est : 2. Saisie 4 fois. Trouvé dans les positions 1, 4, 6, 8. [lamitest@localhost bin]$
hayam_kin
Messages postés
3
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
25 mars 2006
25 mars 2006 à 16:19
25 mars 2006 à 16:19
le probléme ne se resout pas encore....
je sais bien que ma diffuculté reside dans l'aafichage de la valeur max et de sa position,cad dans le dernier printf!! sinon tt mon programme est juste sauf pour le printf car en exécutant jobtient des valeurs vraiment qui n'ont a avoir avec celles que j'ai entré...
merci encore
je sais bien que ma diffuculté reside dans l'aafichage de la valeur max et de sa position,cad dans le dernier printf!! sinon tt mon programme est juste sauf pour le printf car en exécutant jobtient des valeurs vraiment qui n'ont a avoir avec celles que j'ai entré...
merci encore
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 mars 2006 à 16:34
25 mars 2006 à 16:34
Re,
#include<stdio.h> main() { int n,i,tab[50],max=tab[0],pos=0; printf(\"saisir un entier n<=50:\"); scanf(\"%d\",&n); for(i=0;i<n;i++) { printf(\"element %d:\",i); scanf(\"%d\",&tab[i]); } for(i=0;i<n;i++) { printf(\"tab[%d]=%d\n\",i,tab[i]); } for(i=0;i<n;i++) { if(tab[i]>max) { max=tab[i]; pos=i; } } printf(\"la valeur max est %d et occupe la position %d\n\",max,pos+1); }et le résultat
[lamitest@localhost bin]$ gcc -o nb_min_max_2_ccm nb_min_max_2_ccm.c [lamitest@localhost bin]$ ./nb_min_max_2_ccm saisir un entier n<=50:6 element 0:25 element 1:87 element 2:89 element 3:23 element 4:125 element 5:5 tab[0]=25 tab[1]=87 tab[2]=89 tab[3]=23 tab[4]=125 tab[5]=5 la valeur max est 125 et occupe la position 5 [lamitest@localhost bin]
hayam_kin
Messages postés
3
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
25 mars 2006
25 mars 2006 à 19:07
25 mars 2006 à 19:07
en fait merci pour ton aide !!
je sais mnt lerreur ke je faisais!!
dans l'initialisation jai fait :
max=tab[0];
alors ke jaurais du faire :
max=0;
:D merci pour tt
je sais mnt lerreur ke je faisais!!
dans l'initialisation jai fait :
max=tab[0];
alors ke jaurais du faire :
max=0;
:D merci pour tt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
25 mars 2006 à 19:14
25 mars 2006 à 19:14
Re,
regarde aussi
i c'est une variable que tu utilises pour incrémentation, une fois sortie de ta boucle, c'est fini avec i
En revanche tu stocke dans max et pos la valeur maximale et la positon
donc la ligne doit être
regarde aussi
printf(\"la valeur tab[%d] est max occupe la position %d \",tab[i],i);
i c'est une variable que tu utilises pour incrémentation, une fois sortie de ta boucle, c'est fini avec i
En revanche tu stocke dans max et pos la valeur maximale et la positon
donc la ligne doit être
printf(\"la valeur max est %d et occupe la position %d \",max,pos+1);
voici un exercice (correcte)qui inclu le maximum et le minimum
#include<stdio.h>
#include<stdlib.h>
main()
{
int vect[100];
int i,n,min,max;
printf("entrez la dimention du tableau");
scanf("%d",&n);
for(i=0;i<n;i++)
{printf("entrer la valeur de la case %d du tableau ",i);
scanf("%d",&vect[i]);
}
min=vect[0];
for(i=0;i<n;i++)
{if (vect[i]<min){
min=vect[i]; }
}
max=vect[1];
for(i=0;i<n;i++)
{if (vect[i]>max){
max=vect[i]; }
}
printf("LE MINIMUM=%d LE MAXIMUM=%d",min,max);
printf("\n");
system("PAUSE");
}
#include<stdio.h>
#include<stdlib.h>
main()
{
int vect[100];
int i,n,min,max;
printf("entrez la dimention du tableau");
scanf("%d",&n);
for(i=0;i<n;i++)
{printf("entrer la valeur de la case %d du tableau ",i);
scanf("%d",&vect[i]);
}
min=vect[0];
for(i=0;i<n;i++)
{if (vect[i]<min){
min=vect[i]; }
}
max=vect[1];
for(i=0;i<n;i++)
{if (vect[i]>max){
max=vect[i]; }
}
printf("LE MINIMUM=%d LE MAXIMUM=%d",min,max);
printf("\n");
system("PAUSE");
}
1 févr. 2011 à 20:59
Et sinon,comment maitriser les fonctions en programmation?