Garder en memoire plusieurs nombre à saisir
Résolu
Coucou1504
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
Coucou1504 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Coucou1504 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors j'ai un petit probléme!!
Je voudrais savoir comment garder plusieurs nombre saisi en mémoire en langage C!!
En effet je demande à l'utilisateur de saisir le nombre de coeff qui veut saisir et ensuite il me les saisi mais l'ordi ne me garde que le dernier saisi par l'utilisateur. Comment faire???
Merci d'avance pour vos réponses
Alors j'ai un petit probléme!!
Je voudrais savoir comment garder plusieurs nombre saisi en mémoire en langage C!!
En effet je demande à l'utilisateur de saisir le nombre de coeff qui veut saisir et ensuite il me les saisi mais l'ordi ne me garde que le dernier saisi par l'utilisateur. Comment faire???
Merci d'avance pour vos réponses
Configuration: Windows Vista Internet Explorer 7.0
5 réponses
-
tu dosi surement ecraser ta variable a chaque fois !!!
premierement, tu demande le nb de coef: creation d un tableau de la taille voulue.
ensuite, pour chaque coef, tu ecris dans uen nouvelle case du tableau.
et voilou.
copies ton code si tu veux plus d aide-
voici mon code :
[#include <stdio.h>
#define k 10
int tab [k][k];
void saisir(int a,int b)
{
int i,c;
printf ("Veuillez saisir le degré du polynome (nbre compris entre 0 et 5!!:");
scanf("%d",&a);
getchar();
printf ("Veuillez choisir la valeur :");
scanf("%d",&c);
getchar();
if (a>5)
{
printf ("IMPOSSIBLE");
}
else
{
for (i=0;i<a;i++)
{
printf ("Veuillez saisir les coeff de votre polynome!");
scanf("%d",&b);
getchar();
}
}
printf("%d",b);
}]
-
-
-
pardon...
donc en debut de ta fonction, tu reserve un tableau du nombre de coef a enregistrer:
int* tableau = (int*)malloc(a * sizeof(int));
ca c est pour enregistrer tes valeurs :
scanf("%d",tableau+i);
avec ca tu les affiches:
for (i=0;i<a;i++)
printf("%d",tableau[i]);
le code complet:
#include <stdio.h>
#define k 10
int tab [k][k];
void saisir(int a,int b)
{
int* tableau = (int*)malloc(a * sizeof(int));
int i,c;
printf ("Veuillez saisir le degré du polynome (nbre compris entre 0 et 5!!:");
scanf("%d",&a);
getchar();
printf ("Veuillez choisir la valeur :");
scanf("%d",&c);
getchar();
if (a>5)
{
printf ("IMPOSSIBLE");
}
else
{
for (i=0;i<a;i++)
{
printf ("Veuillez saisir les coeff de votre polynome!");
scanf("%d",tableau+i);
getchar();
}
}
for (i=0;i<a;i++)
printf("%d",tableau[i]);
}
void main()
{saisir(3,3);}
voila! j ai le droit a un merci, message resolu ?? -
je vais meme t expliquer la ligne : int* tableau = (int*)malloc(a * sizeof(int))
donc un tableau, c est un pointeur, une adresse memoire.
pour reserver une zone memoire en C, on prend le malloc (memory allocation). on veut "a"cases de type int, donc de la taille d un int, donc on demande a*taille de int.
le malloc renvoie un pointeur de type void*, universel. on declare le type en transtypant :(int *)
et en debut de ligne, on declare un pointeur d int (un genre de racourci sur notre tableau)
, et le signe = permet de lier tout ca .....
si t as pas vu les pointeurs, ca risque d etre un peu flou comme explication, mais si tu te concentre bienm tu comprendra -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -