Lest tableau

programeurDuDimanche Messages postés 25 Statut Membre -  
programeurDuDimanche Messages postés 25 Statut Membre -
salut c'est encore moi et j'ai eu le malheur de découvrir les pointeurs et les tableaux .

j'en suis a l'exercice 1

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/15540-les-tableaux

j'ai tenté un truc un peu au hasard je savait vraiment pas quoi faire.

voila ma compil que j'ai essayé d'indété.

#include <stdio.h>
#include <stdlib.h>

int sommeTableau(int tableau[], int tailleTableau);


int main()

{

    int tableau[4] ={5,3}

  int  somme = 0,i = 0;

  for (i = 0 ; i < 4 ; i++)

        somme += tableau[i];


printf("la somme des valeur du tableau est %d"):




    return somme;
}


Merci

4 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    L'indentation ce n'est toujours pas ça...
    Que n'arrives-tu pas avec l'indentation ?

    int tableau[4] ={5,3}
    Il manque un ';'.

    printf("la somme des valeur du tableau est %d"):
    C'est un ';' en fin d'instruction pas un ':'. De plus, il manque l'argument que tu souhaites afficher (et qui se rapporte à ton %d).

    return somme;
    Ce n'est pas return somme; mais return 0; (ou return EXIT_SUCCESS;).

    Si tu veux un return somme; il faut faire une fonction.

    Cdlt,
    0
  2. programeurDuDimanche Messages postés 25 Statut Membre 2
     
    MDR je me suis probablement beacoup foiré je voulais justement faire une fonction :(
    0
  3. programeurDuDimanche Messages postés 25 Statut Membre 2
     
    re après avoir fais quelque test et réviser les cour cela me semblait juste mais il y a plein d'érreur;

    D:\Users\martin\Desktop\programme\EXO1.c||In function 'main':|
    D:\Users\martin\Desktop\programme\EXO1.c|7|error: parameter 'tableau' is initialized|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: initialization makes pointer from integer without a cast [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: (near initialization for 'tableau') [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: excess elements in scalar initializer [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: (near initialization for 'tableau') [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: excess elements in scalar initializer [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: (near initialization for 'tableau') [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: excess elements in scalar initializer [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|warning: (near initialization for 'tableau') [enabled by default]|
    D:\Users\martin\Desktop\programme\EXO1.c|7|error: parameter 'somme' is initialized|
    D:\Users\martin\Desktop\programme\EXO1.c|8|error: expected declaration specifiers before 'somme'|
    D:\Users\martin\Desktop\programme\EXO1.c|9|error: expected declaration specifiers before 'printf'|
    D:\Users\martin\Desktop\programme\EXO1.c|10|error: expected declaration specifiers before 'return'|
    D:\Users\martin\Desktop\programme\EXO1.c|12|error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token|
    D:\Users\martin\Desktop\programme\EXO1.c|7|error: declaration for parameter 'somme' but no such parameter|
    D:\Users\martin\Desktop\programme\EXO1.c|7|error: declaration for parameter 'tableau' but no such parameter|
    D:\Users\martin\Desktop\programme\EXO1.c|17|error: expected '{' at end of input|
    ||=== Build failed: 9 error(s), 8 warning(s) (0 minute(s), 0 second(s)) ===|

    #include <stdio.h>
    #include <stdlib.h>
    int sommeTableau(int tableau[], int tailleTableau);
    
    int main()
    
    int tableau [4] ={2,34,5,6},somme = 0;
    somme = sommeTableau(tableau,4);
    printf("la somme des valeur de ce tableau est %d",somme);
    return 0;
    int sommeTableau(int tableau[], int tailleTableau)
    {
    int somme =0, i = 0:
    for (i = 0; i < 4 ; i++)
    somme += tableau[i];
    return somme
    }
    
    
    
    
    
    


    Merci.
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Il manque des ";" et tu as laissé le ":" déjà remonté dans mon post précédent.
      De plus il manque les accolades pour le bloc du main()
      0
    2. programeurDuDimanche Messages postés 25 Statut Membre 2
       
      cool et il reste une ereur



      : D:\Users\martin\Desktop\programme\EXO1.o:EXO1.c|| undefined reference to `sommeTableau'|
      ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===

      merci
      |
      0
    3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Tu as bien vérifié que tu as tout corrigé comme il faut ?
      Si oui, poste ton programme avec les corrections.
      0
    4. programeurDuDimanche Messages postés 25 Statut Membre 2
       
      #include <stdio.h>
      #include <stdlib.h>
      int sommeTableau(int tableau[], int tailleTableau);
      
      int main()
      {
      
      
      int tableau [4] ={2,34,5,6},somme = 0;
      somme = sommeTableau(tableau,4);
      printf("la somme des valeur de ce tableau est %d",somme);
      return 0;
      int sommeTableau(int tableau[], int tailleTableau)
      {
      int somme =0, i = 0;
      for (i = 0; i < 4 ; i++);
      somme += tableau[i];
      }
      return somme;
      }
      
      
      
      
      
      
      0
    5. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Tu as oublié de mettre l'accolade fermante du main()...
      0
  4. programeurDuDimanche Messages postés 25 Statut Membre 2
     
    #include <stdio.h>
    #include <stdlib.h>
    int sommeTableau(int tableau[], int tailleTableau);
    
    int main()
    {
    
    
    int tableau [4] ={2,34,5,6},somme = 0;
    somme = sommeTableau(tableau,4);
    printf("la somme des valeur de ce tableau est %d",somme);
    return 0;
    int sommeTableau(int tableau[], int tailleTableau)
    {
    int somme =0, i = 0;
    for (i = 0; i < 4 ; i++);
    somme += tableau[i];
    }
    return somme;
    }
    
    
    
    
    
    
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Bon, je ne vois pas comment être plus clair...
      Il FAUT une accolade APRES le return 0;
      Je remets ce que j'ai dit :
      int main() 
      {
      ...
      return 0;
      } /*c'est là l'accolade à rajouter*/


      Et puis en regardant ton code, je vois d'autres erreurs.
      for (i = 0; i < 4 ; i++);
      Pas de ';' après le for. En revanche tu peux rajouter une accolade ouvrante (juste une ouvrante) après ce for.

      Je te conseille vraiment de relire le tuto avant de poursuivre...
      0
    2. programeurDuDimanche Messages postés 25 Statut Membre 2
       
      cool j'ai enfin réussi ;Merci bcp et désolé d'avoir un peu (MDR) abusé de ta patience
      Merci !
      0