probleme programmation C
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

probleme programmation C



  1. #1
    physicien007

    probleme programmation C


    ------

    bonsoir

    j'ai programmer 2 fonctions , mais je ne sais pas pourquoi y a pas d'erreurs de programmation mais j'optiens aucun resltats a la compilation !


    premiere fonction

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #define dim 100


    int main ()
    {
    int tab[dim],i,z;

    int s=0;
    for (i=0;i<dim;i++)
    {
    tab[i]=i+1;
    }
    z=somme(s);
    printf("la somme du tableau est égale a : %d",s);

    system("pause");

    }

    int somme(int tab[]){
    int i=0;
    int s=0;

    for (i=0;i<dim;i++)
    {
    s=s+tab[i];
    }
    return(s);
    }




    Deuxiéme fonction

    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #define dim 10


    int tri(int tab[]){
    int i,min;
    min=tab[1];
    if (tab[i]>tab[1]){
    min=tab[i];
    }
    else{
    min=tab[1];
    }

    return(min);
    }

    int main ()
    {
    int tab[dim],i,z,min;
    for (i=0;i<dim;i++){
    scanf("%f",&tab[i]);
    }
    z=tri(min);
    printf("le minimum est : %f",min);

    system("pause");

    }




    Merci d'avance

    -----

  2. #2
    invite765732342432
    Invité

    Re : probleme programmation C

    Si tu n'obtiens aucun résultat à l'éxécution, rajoute un \n à la fin de chacun de tes printf...

    Mais si tu parles bien de "aucun resltats a la compilation", peux-tu préciser: pas de .o créé ? par d'executable ? Comment compiles-tu ? etc...

  3. #3
    physicien007

    Re : probleme programmation C

    Citation Envoyé par Faith Voir le message
    Si tu n'obtiens aucun résultat à l'éxécution, rajoute un \n à la fin de chacun de tes printf...

    Mais si tu parles bien de "aucun resltats a la compilation", peux-tu préciser: pas de .o créé ? par d'executable ? Comment compiles-tu ? etc...
    Merci d'abord le \n c'est pour sauter de ligne apres ce que je voulez dire c'est que peux étre j'ai des erreurs de syntaxe dans la déclaration de fonction.

  4. #4
    whoami

    Re : probleme programmation C

    Bonjour,

    "pas d'erreurs de programmation " ?

    Un compilateur bien réglé devrait au moins te donner queslques Warnings (genre variable non initialisée)

    Ta "deuxième fonction" : le tri ne fait absolument rien de ce que tu penses.

    Conseil : tu exécutes ton programme "à la main", c'est à dire avec du papier et un crayon :
    Tu notes l'évolution des valeurs des variables, etc., et tu vérifies que ça fait ce que tu pensais ...

  5. A voir en vidéo sur Futura
  6. #5
    invite765732342432
    Invité

    Re : probleme programmation C

    Citation Envoyé par physicien007 Voir le message
    Merci d'abord le \n c'est pour sauter de ligne
    Si je t'ai conseillé le \n c'est surtout pour flusher le buffer d'affichage...

    apres ce que je voulez dire c'est que peux étre j'ai des erreurs de syntaxe dans la déclaration de fonction.
    S'il y a des erreurs de syntaxe, le compilateur te le dira. Mais l'absence de réponses aux questions importantes rend toute aide difficile.

    Ta "deuxième fonction" : le tri ne fait absolument rien de ce que tu penses.
    C'est clair que la fonction "tri" qui est en fait sensée calculer un minimum fait vraiment de drôles de choses

  7. #6
    erik

    Re : probleme programmation C

    Dans le premier programme tu veux faire la somme des éléments d'un tableau.
    Mais ta fonction somme est appelée avec une variable ( s ) que tu as initialisée à 0, il faut que tu passe ton tableau comme paramètre.
    Si tu fait somme(0), c'est sûr, tu n'auras pas ce que tu cherches.

  8. #7
    physicien007

    Re : probleme programmation C

    Citation Envoyé par erik Voir le message
    Dans le premier programme tu veux faire la somme des éléments d'un tableau.
    Mais ta fonction somme est appelée avec une variable ( s ) que tu as initialisée à 0, il faut que tu passe ton tableau comme paramètre.
    Si tu fait somme(0), c'est sûr, tu n'auras pas ce que tu cherches.
    merci stp tu peux m'expliquer plus et me montrer précisément ce que je dois faire et que dois-je modifier au juste

  9. #8
    Jack
    Modérateur

    Re : probleme programmation C

    erik vient de te le dire: il faut passer le tableau en paramètre et non pas s. C'est normal puisque c'est bien la somme des éléments du tableau que tu veux.

    Pour rendre la fonction plus générale, j'aurais également passé le nombre d'éléments en paramètre.

    Code:
         z=somme(s);
         printf("la somme du tableau est égale a : %d",s);
    tu ne trouves pas bizarre dans ton printf d'utiliser s comme paramètre, vu le calcul de la ligne précédente.

    A+

  10. #9
    bzh_nicolas

    Re : probleme programmation C

    Citation Envoyé par physicien007 Voir le message
    bonsoir

    j'ai programmer 2 fonctions , mais je ne sais pas pourquoi y a pas d'erreurs de programmation mais j'optiens aucun resltats a la compilation !
    Oh, si il y en a des erreurs de programmation !!!
    et tu dois obtenir pas mal de warnings et d'erreur à la compilation.
    Mes remarques en commentaires

    Code:
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #define dim 100
    
    // déjà problème : ta fonction somme devrait-être déclarée avant main ou tu devrais avoir un fichier .h
    int main ()
    {
      int tab[dim],i,z;
    
      int s=0;
      for (i=0;i<dim;i++)
      {
          tab[i]=i+1;
      }
      z=somme(s); //ici erreur de programmation et à la compilation, vérifie tes types de données, réfléchis au paramètre que tu passes 
      printf("la somme du tableau est égale a : %d",s); // erreur de programmation. Ne devrais-tu pas plutôt afficher le résultat de ta fonction somme (soit z)
      
      system("pause");
       
    }
    
    int somme(int tab[]){
     int i=0;   
     int s=0;   
     
     for (i=0;i<dim;i++)
     {
        s=s+tab[i];
     }
     return(s);   
    }
    Code:
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #define dim 10
    
    
    int tri(int tab[]){
    // ça serait bien de nous dire ce qu'est censé faire cette fonction car là je ne vois trop
     int i,min;
     min=tab[1];
     if (tab[i]>tab[1]){ 
        min=tab[i];                  
     }else{
         min=tab[1];
     }
     return(min);   
    }
    
    int main ()
    {
      int tab[dim],i,z,min;
      for (i=0;i<dim;i++){
          scanf("%f",&tab[i]); // warning ici, vérifie tes types
      }
      z=tri(min); // ereur de compilation, vérifie tes types
      printf("le minimum est : %f",min); // attention ici, vérifie tes types de plus ce n'est pas min qu'il faut afficher mais le résultat de ta fonction tri (donc z)
      
      system("pause");
       
    }

Discussions similaires

  1. Problème programmation LaTeX
    Par ketchupi dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 06/04/2009, 08h37
  2. probleme programmation C
    Par inviteba5c14d8 dans le forum Électronique
    Réponses: 7
    Dernier message: 09/05/2008, 21h37
  3. Problème de programmation en Caml
    Par invite06ae9bd5 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 07/05/2008, 00h29
  4. Probleme de Programmation CN
    Par invitec07cc70f dans le forum Technologies
    Réponses: 2
    Dernier message: 10/02/2007, 15h54
  5. probleme de programmation
    Par invitefbbbadb6 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/10/2006, 15h28