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
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
A voir également:
- Tableau en C
- Tableau croisé dynamique - Guide
- Code ascii tableau - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
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
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
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
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
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
J'ai un message d'erreur
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
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.
Je t'envoie ce que je fait.
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
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;
}
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;
}
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
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
merci pour ta réponse, mais si ma donnee introduite est par exemple 77,
ça ne fonctionne pas ....
Ca fonctionne que de 1 à 6
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
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.
Donne nous ton but, peut être pourra on mieux t'aider.
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
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.
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.
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
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;
}
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;
}
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
30 mai 2008 à 12:54
Dis-nous si c'est ce qu'il fallait.
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
30 mai 2008 à 13:00
oui c'est tout à fait ça, merci pour tout