Tableau en C

Résolu/Fermé
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 - 30 mai 2008 à 11:49
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 - 30 mai 2008 à 13:00
Bonjour,

j'introduis des chiffres dans un tableau... J'aimerais que la saisie se fasse automatiquement après la première saisie par incrémentation...

Voici mon code
#include <stdlib.h>
#include <stdio.h>
#define tmax 5

main()
{
int T[tmax], i, donnee=0;
{
printf("introduire une donnee du tableau T[%d] : ", donnee);
scanf("%d", &T[donnee]);
for (i=0; i<=tmax; i++)
printf ("%d\t", T[donnee++]);
}

return 0;
}


Mais j'ai l'impression qu'il m'indique les adresses....
Merci d'avance pour vos interventions

10 réponses

landros Messages postés 98 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 mars 2010 6
30 mai 2008 à 11:52
Bonjour,
essaye d'enlever le &

car par définition un tableau n'en a pas besoin, mais je me souviens pas bien pourquoi

de ça :
" scanf("%d", &T[donnee]); "

essaye avec ça :

" scanf("%d", T[donnee]); "

Bye bon courage, et regarde aussi sur les docs de développez.com
0
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
30 mai 2008 à 11:59
Je suis sous code blocks et quand je change ce que tu m'indiques, il ne complile plus...
J'ai un message d'erreur
0
landros Messages postés 98 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 mars 2010 6
30 mai 2008 à 12:14
Tu n'as pas fait de boucle pour l'incrémentation c'est pour cela.

Je t'envoie ce que je fait.
0
landros Messages postés 98 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 mars 2010 6
30 mai 2008 à 12:22
Voilà ce que j'ai chez moi.
En fait je pense que tu n'as pas bien compris le fonctionnement des tableaux puisque tu cherche à faire afficher le contenu du tableau et que tu l'as pas initialisé.

Quand tu fais " printf ("%d\t", T[donnee++]); " ,
tu cherches à affiche le contenu de la case du tableau dont tu as incrémenter l'indice, mais
cette case est vide car à aucun moment tu n'as affecté de valeur à ces cases du tableau.

Donc ne confonds pas l'indice du tableau
et le contenu de la case du tableau correspondant à un indice.

Voilà le code :


#include <stdlib.h>
#include <stdio.h>
#define tmax 5

main()
{
int T[tmax], i, donnee=0;
{

printf("introduire une donnee du tableau T[%d] : ", donnee);
scanf("%d", &T[donnee]);

for (i=1; i<=tmax; i++)
{
T[i]=T[i-1] + 1 ;
printf ("%d\n", T[i]);
}

}
system("PAUSE");

return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
30 mai 2008 à 12:32
salut,
merci pour ta réponse, mais si ma donnee introduite est par exemple 77,
ça ne fonctionne pas ....

Ca fonctionne que de 1 à 6
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
30 mai 2008 à 12:43
Je ne comprends pas ce que tu veux faire. J'ai l'impression que tu mélange un peu indice de tableau et sa valeur.
Donne nous ton but, peut être pourra on mieux t'aider.
0
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
30 mai 2008 à 12:53
Salut,

mon but est de demander à l'utilisateur d'introduire une donnée. Ensuite j'aimerais
pouvoir incrémenter cette donnée dans un tableau.

Par exemple, l'utilisateur donne la donnée 77. Elle est à l'indice 0 et j'aimerais
trouver automatiquement à l'indice 1 la valeur 78, en 2 79, etc jusqu'à ma
condition d'arrêts qui est tmax pour les indices.
0
landros Messages postés 98 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 mars 2010 6
30 mai 2008 à 12:54
J'avais même pas vu l'erreur, il faut que tu entre dans donne avec " &donnee" et ensuite attribuer cette valeur au tableau
enlève les printf si tu veux pas autant de blabla à l'affichage

#include <stdlib.h>
#include <stdio.h>
#define tmax 5


main()
{
int T[tmax], i, donnee;
donnee = 0;


printf ( "introduire une donnee du tableau T[0] : \n" ) ;
scanf ( "%i", &donnee );
printf("vous avez entré : %d \n ", donnee);

for (i=1; i<=tmax; i++)
{ donnee = donnee + 1 ;
printf ("donnee : %d\n", donnee);
T[i]=donnee ;

printf (" t [ %d ] = %d\n",i, T[i]);
}


system("PAUSE");

return 0;
}
0
landros Messages postés 98 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 26 mars 2010 6
30 mai 2008 à 12:54
Dis-nous si c'est ce qu'il fallait.
0
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
30 mai 2008 à 13:00
oui c'est tout à fait ça, merci pour tout
0