Tableau en C

Résolu
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   -  
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

10 réponses

landros Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   140
 
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   140
 
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   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention   140
 
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   6
 
Dis-nous si c'est ce qu'il fallait.
0
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   140
 
oui c'est tout à fait ça, merci pour tout
0