MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 2007
-
3 déc. 2003 à 12:52
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 2007
-
3 déc. 2003 à 14:17
Comment mettre dans un tableau une saisie telle que :
l'on connais le nombre des nombre mais pas le nombre de chiffre par nombre
et il y a un espace entre chaque nombre?
exemple : je sais qu'il y aura 5 nombre saisie par lutilisateur :
3 32 65 21 2
comment les mettre dans
int nombre[5];
scanf() ? mais comment?? merci beaucoup !!
Bon, g écrit très vite juste avant de bouffer, donc g ptet fé une erreur, si ca marche pas, je regarderé ca plus précisément apres
Mais doi yavoir une technique plus facile
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 3 déc. 2003 à 13:17
Salut Anacr0x,
J'ai donné une methode avec scanf mais je prefere de loin coder ma propre fonction pour ce genre de machin.
A propos de ton code: atoi() s'arrete de lire le nombre jusqu'au 1er caractere rencontré qui n'est pas un chiffre.
char chaine[] = "1234coucou";
int nb = atoi(chaine);
// nb contiendra 1234
Du coup, 1 seul passage en partant du debut sans rajouter de zero suffit.
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 3 déc. 2003 à 13:28
Euh les mecs merci mais ca je sais faire je me suis mal expliké : le nombre 5 n'est connu k'apres ke lutilisateur l'ai tapé :
lutilisateur ecrit 5 puis 32 2 3 4 56 come ilo peut mettre
50 puis 1 2 3 56 etc 50 nombre...
La est la difficulté ^^
Anacr0x
Messages postés515Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention27 avril 20062 3 déc. 2003 à 13:34
ou est la difficulté ? tu fait une allocation dynamique pour les variable dans ce cas... pi basta, t'utilise un truc comme ce que g fé (j'imagine mal un scanf avec 50 entrées)
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 3 déc. 2003 à 13:34
Salut,
MoDDiB, des difficultées tu en aura bcp si tu prend pas 5 min pour comprendre un bout de code!
La func d'anacrox fait deja ce que tu demandes. Il suffit de changer la valeur de depart de n.
MoDDiB
Messages postés546Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention 4 mai 20071 3 déc. 2003 à 13:48
Merci aardman mais comme je le disé je connaissais deja ce que ardman m'avai dis donc si je bloquais deja devant cette difficulté et j'ai bien pris la peine d'y penser.
J'ai enfin trouvé comment faire pour que ca marche :
scanf("%d", &combien);
for(i = 0; i < combien; i++)
scanf("%d", &nombre[i]);
c'est tout con mais faut savoir que 2 scanf a la suite lirons la meme ligne !
C'était simplement ca mon probleme
l'autre probleme et que si tu fais :
printf("%d",nombre)
tu obtiens un nombre abérant
e, effet il faut faire
for(i = 0; i < combien; i++)
printf("%d ",nombre[i]);
Pour voir apparaitre les bons résultats...
T'inquiète pas aardman quand je pose une question c'est pas de la paresse je me casse la tete pendant 1 bonne heure voir plus avant.. mais le probleme c'est que vois des chiffres aberrant pour un truc aussi simple ca decourage vite !
garslouche
Messages postés583Date d'inscriptionmardi 26 novembre 2002StatutMembreDernière intervention29 mai 20151 3 déc. 2003 à 14:08
Ca n'est pas parceque tu ne les comprends pas que les nombres sont aberrants!
Quant tu décalres un tableau genre nombre[], la variable nombre contient l'adresse du premier élément du tableau.
Du coup quand tu faisais printf("%d", nombre) tu affichais l'adresse du tableau.
On ne force pas une curiosité, on l'éveille. .................................................Daniel Pennac