Se connecter avec
S'enregistrer | Connectez-vous

Comment débuter en programmation ? - Page 2

Dernière réponse : dans Programmation

:hello: 
Perso, je te conseil de developper une procedure simple
pour gerer le nombre de tabulation, je te propose comme signature void gestionTab(char* t, int n);
Avec en char ta chaine à écrire et le nombre de tabulations"en int". :jap: 
Lassé par la pub ? Créez un compte

Citation :
que veux tu dire par "plus courtes" ?


ben au lieu d'écrire \t\t\t\t, existe t'il une commande pour faire 3, 4 ou 5 etc... tabulation.

Citation :
je te propose comme signature void gestionTab(char* t, int n);
.

je suis pas encore au top avec les pointeurs.
char *t ou char* t , c'est du pointeur ca non ?

souci avec les tableau voici le code :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. long sommeTableau (long tableau[], long tailleTableau);
  5.  
  6. int main()
  7. {
  8. printf("Exercices Somme Tableau\n");
  9.  
  10. long tableau[3]={5,10,15}, i=0;
  11. long somTableau = 0;
  12. for (i = 0; i < 3; i++)
  13. {
  14. printf ("%ld\n",tableau[i]);
  15. }
  16.  
  17. sommeTableau(tableau, 3);
  18.  
  19. printf("La somme des valeurs du tableau est : %ld", somTableau);
  20.  
  21.  
  22. long sommeTableau (long tableau[], long tailleTableau)
  23. {
  24. long i = 0, somTableau = 0;
  25. for (i = 0; i < tailleTableau; i++)
  26. {
  27. somTableau = 0 + tableau[i];
  28. }
  29. return somTableau;
  30. }
  31. return 0;
  32. }



en ben y'a une erreur que je n'arrive pas a trouver, pouvez vous m'aiguiller svp.

DragonVert40 a dit :
souci avec les tableau voici le code :
<...>
en ben y'a une erreur que je n'arrive pas a trouver, pouvez vous m'aiguiller svp.

  • Il est d'usage d'indiquer quelle est l'erreur...
  • On ne peut pas définir une fonction dans une fonction. Il faut la sortir et la placer avant son appel (définir avant d'utiliser).
  • Le prototype séparé n'est pas utile ici si on respecte ce principe ci-dessus.
  • L'algorithme de sommation est faux. C'est plutôt :

    sum := 0
    DO
    sum := sum + data
    WHILE NOT finished

  • Il faut récupérer la valeur retournée par la fonction. Elle ne va pas se placer comme par miracle dans la variable 'somTableau'.
  • Pour que l'affichage se fasse correctement, il faut que la ligne de texte passée à printf() soit complète. Il manque un '\n' à la fin de la ligne.

    voila mon Build log.

    Compiling: main.c
    Linking console executable: C:\Documents and Settings\Mes documents\Programmation\exercice Somme Tableau\exerciceSommeTableau.exe
    C:\Program Files\CodeBlocks\lib/libmingw32.a(main.o):main.c:( .text+0x106): undefined reference to `WinMain@16'
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 0 seconds)

    J'ai modifié mon code et fait passer ma fonction avant son appel
    avant le int main()

    Citation :
    L'algorithme de sommation


    Je m'excuse mais je ne sais pas ce que c'est.

    DragonVert40 a dit :
    Compiling: main.c
    Linking console executable: C:\Documents and Settings\Mes documents\Programmation\exercice Somme Tableau\exerciceSommeTableau.exe
    C:\Program Files\CodeBlocks\lib/libmingw32.a(main.o):main.c:( .text+0x106): undefined reference to `WinMain@16'
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 0 seconds)

    Ca, c'est un problème de projet. As-tu bien demandé un projet console et non GUI ?
    Citation :

    Citation :
    L'algorithme de sommation


    Je m'excuse mais je ne sais pas ce que c'est.
    Euh, tu fais de la programmation, et tu ne sais pas ce qu'est un algorithme ? Et sommation, ça a peut être rapport avec la somme, non ?
    En fait, c'est l'enchainement de code qui permet d'effectuer la somme.

    Voile le code modifie :
    [code]
    #include <stdio.h>
    #include <stdlib.h>

    long sommeTableau (long tableau[], long tailleTableau)
    {
    long i = 0;
    long somTableau = 0;
    do
    {
    somTableau = somTableau + tableau;
    printf ("tableau vaut %ld\n", somTableau);
    i++;
    }while (i <= tailleTableau);
    return somTableau;
    }
    int main()
    {
    printf("Exercices Somme Tableau\n");

    long tableau[3]={5,10,15}, i=0, sommeDuTableau = 0;
    long *somTableau = &sommeDuTableau;
    for (i = 0; i < 3; i++)
    {
    printf ("%ld\n",tableau);
    }

    sommeDuTableau = sommeTableau(tableau, 3);

    printf("La somme des valeurs du tableau est : %ld\n", sommeDuTableau);




    return 0;
    }
    seulement il ne fait pas ce qu'on attend de lui.
    j'aimerait juste qu'il me dise que la somme des valeur est égale a 30
    exercice reussi. on passe a autre chose.
    Mais non.
    ca fait 4 valeurs pour un tableau[3].

    Je ne vois pas le problème compliqué mais la solution ne vient pas.

    Exercices Somme Tableau
    5
    10
    15
    tableau vaut 5
    tableau vaut 15
    tableau vaut 30
    tableau vaut 2293702
    La somme des valeurs du tableau est : 2293702

    Press ENTER to continue.

    Euh, c'est quoi cette indentation à la gomme ? Tu as code::blocks :

    -> Plugins / Source formatter

    et c'est reglé.
    DragonVert40 a dit :

    1. long sommeTableau (long tableau[], long tailleTableau)
    2. {
    3. long i = 0;
    4. do
    5. {
    6. i++;
    7. }while (i <= tailleTableau);

    ca fait 4 valeurs pour un tableau[3].

    Normal, la condition d'arrêt est fausse, donc tu débordes du tableau.

    Rappel, les indices valides d'un tableau de taille n vont de 0 à n-1...
    Lassé par la pub ? Créez un compte