Lest tableau

Fermé
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 - 25 janv. 2015 à 23:59
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 - 27 janv. 2015 à 00:32
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 janv. 2015 à 00:17
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
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 2
26 janv. 2015 à 00:29
MDR je me suis probablement beacoup foiré je voulais justement faire une fonction :(
0
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 2
26 janv. 2015 à 20:02
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 janv. 2015 à 20:10
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
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 2
26 janv. 2015 à 20:43
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 janv. 2015 à 21:25
Tu as bien vérifié que tu as tout corrigé comme il faut ?
Si oui, poste ton programme avec les corrections.
0
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 2
26 janv. 2015 à 21:37
#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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 janv. 2015 à 21:47
Tu as oublié de mettre l'accolade fermante du main()...
0
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 2
27 janv. 2015 à 00:05
#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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
27 janv. 2015 à 00:11
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
programeurDuDimanche Messages postés 25 Date d'inscription jeudi 22 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 2
27 janv. 2015 à 00:32
cool j'ai enfin réussi ;Merci bcp et désolé d'avoir un peu (MDR) abusé de ta patience
Merci !
0