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   -
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
Configuration: Windows Vista
Internet Explorer 7.0

5 réponses

  1. 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
    1. Coucou1504 Messages postés 56 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
      1. zavenger Messages postés 817 Statut Membre 161 > Coucou1504 Messages postés 56 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
  2. nabla
     
    et la reponse :

    int* tableau = (int*)malloc(a * sizeof(int));
    0
  3. 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
    1. Coucou1504 Messages postés 56 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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