Garder en memoire plusieurs nombre à saisir

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

5 réponses

nabla
 
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
0
Coucou1504 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   3
 
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);

}]
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161 > Coucou1504 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
effectivement tu ecrases ta valeur
la preuve:
for (i=0;i<a;i++)
{
printf ("Veuillez saisir les coeff de votre polynome!");
scanf("%d",&b);
getchar();
printf("%d",b);
}


pour que cela marche, tu parametre b doit etre un string
0
nabla
 
et la reponse :


int* tableau = (int*)malloc(a * sizeof(int));
0
nabla
 
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 ??
0
Coucou1504 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   3
 
Oh un trés grand merci!!!!!!!!
Depuis le tps que je cherche la solutiuon!!!!!!!!!!!
Mille merci et à ton service mais je suis debutante en programmation!!!!!!!!
encore merci
0
nabla
 
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
0

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

Posez votre question
nabla
 
ha, débutante? j ai le droit a un bisou ? ;)
0
Coucou1504 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   3
 
j'ai tout compris!!
big bisous lol
encore merci!!
0