Partage
  • Partager sur Facebook
  • Partager sur Twitter

value is neither array nor pointer nor vector|

structure et tableau

Sujet résolu
    18 août 2017 à 21:24:02

    Bonjour,
    Lors de la compilation de mon code, j'ai cette erreur à la ligne 52, quelqu'un peut m'aider à régler le problème ? 
    Bien sûre le printf est la juste pour verifier que le tableau était bien transmis à la fonction.
    D'avance, je vous remercie .

    Code erreur : error: subscripted value is neither array nor pointer nor vector|
    /* Rédiger un programme qui permet d’encoder un certain nombre
    de complexes et qui ensuite propose à l’utilisateur les choix
    suivant :
    1 Calculer et afficher la somme de deux complexes.
    2 Afficher un des deux complexes encodés.*/
    
    #include <stdio.h>
    #include <stdlib.h>
    
    
    /*-------------STRUCTURE--------------*/
    typedef struct complexe
        {
            float reel;
            float imaginaire;
        }complexe;
    /*-------------STRUCTURE--------------*/
    
    void Calculer_complexes(tableau,nombre_complexe);
    //void Afficher_complexes();
    
    
    
    int main(int argc, char const *argv[])
    {
        int nombre_complexe=0;
        int i;
    
    
        printf("Combien de complexe voulez vous encoder ? : ");
        scanf("%d",&nombre_complexe);
    
        complexe tableau[nombre_complexe];
    
        for (i = 0; i < nombre_complexe; ++i)
        {
            printf("Encoder le reel #%d : ",i+1);
            scanf("%f",&tableau[i].reel);
            printf("Encoder l'imaginaire #%d : ",i+1);
            scanf("%f",&tableau[i].imaginaire);
        }
        Calculer_complexes(tableau,nombre_complexe);
        return 0;
    }
    
    void Calculer_complexes(tableau,nombre_complexe)
        {
            int i;
    
            for (i = 0; i < nombre_complexe; ++i)
            {
                printf("%f",tableau[i].reel);
            }
        }



    -
    Edité par TANIAX 18 août 2017 à 21:26:18

    • Partager sur Facebook
    • Partager sur Twitter
      18 août 2017 à 21:44:55

      lorsque tu déclares les paramètre d'une fonction, tu dois donner leur type également.
      • Partager sur Facebook
      • Partager sur Twitter
        18 août 2017 à 22:13:21

        c'est bon il fallait juste de mettre une étoile devant tableau 

        void Calculer_complexes(complexe *tableau,int nombre_complexe)
        • Partager sur Facebook
        • Partager sur Twitter
          18 août 2017 à 22:44:20

          "juste rajouter une étoile"?

          Il me semble qu'il manquait également le type des paramètres.

          • Partager sur Facebook
          • Partager sur Twitter
            19 août 2017 à 18:15:24

            zoup a écrit:

            "juste rajouter une étoile"?

            Il me semble qu'il manquait également le type des paramètres.

            Sauf que la seule chose que le C assume (à ma connaissance), c'est que ce qui n'a pas de type est considéré comme int

            -
            Edité par edgarjacobs 19 août 2017 à 18:16:00

            • Partager sur Facebook
            • Partager sur Twitter

            On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

              19 août 2017 à 18:29:40

              edgarjacobs a écrit:

              Sauf que la seule chose que le C assume (à ma connaissance), c'est que ce qui n'a pas de type est considéré comme int


              Je ne sais pas. Comme il ne me viendrait pas à l'idée de ne pas mettre de type à mes paramètres, je ne me suis jamais penché sur cet aspect de la norme.

              En tout cas, ça devait tout de même coincer avec le tableau qui contenait des complexes.

              • Partager sur Facebook
              • Partager sur Twitter

              value is neither array nor pointer nor vector|

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown