IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

lecture d'un vecteur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 212
    Par défaut lecture d'un vecteur
    Salut à tous
    J'ai un progarmme pour lire les valeures d'un tableau et apres les mise à 1.
    Mon programme ne détecte pas d'érreurs ,mais il n'introduit pas une exécution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    #include <stdio.h>
    #include <stdlib.h>
    /***definir dim<==>3****/
    #define dim 3
    /***FONCTION LECTURE***:
    /***fonction ones ****/
    /***parama d'entree le tableau T**/
    void lecture (int A[dim])
    {
         int i;
         for (i=0;i<dim;i++)
         {
         printf("T[%d]=/n",i,A[i]);
         scanf("%d",&A[i]);
         }
         }
    void ones (int T[dim])
    {
         int i;
         for (i=0;i<dim; i++)
         T[i]=1;
         }
         /**********************************************/
    int main(int argc, char *argv[])
    {
        int T[dim];
        int A[dim];
        int j;
    /*********affichage avant***/
    for (j=0;j<dim;j++)
    {
    printf("avant appel de lecture A[%d]=%d\n",j,A[j]); 
    printf("avant appel de ones T[%d]=%d\n",j,T[j]);
    /** appel de lecture**/
    Lecture(A);
    /***APPEL DE ONES***/
    ones(T);
    /***AFFICHAGE APRES**/
    /***saut de line****/
    printf("\n");
    }
    for (j=0;j<dim;j++)
    printf("apres appel de lecture A[%d]=%d\n",j,A[j]);
    printf("apres appel de ones T[%d]=%d\n",j,T[j]);
     
      system("PAUSE");	
      return 0;
    }
    .
    Aidez-moi à trouver le problème ,j'ai les travaux pratiques demain
    Merci infiniment.

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 293
    Par défaut
    c'est quoi ça??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("T[%d]=/n",i,A[i]);

    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void lecture (int A[dim])
    en C la casse est importante


    et encore ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /***FONCTION LECTURE***:
    : au lieu de /


    bref des erreurs de jm'enfoutisme, corrige d'abord ça puis revoit ton programme

    PS : à savoir qu'un compilo bien réglé repère automatiquement ces erreurs

    http://emmanuel-delahaye.developpez....tm#cfg_compilo

  3. #3
    Membre éclairé
    Femme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 212
    Par défaut
    Salut à tous
    Merci exhortae pour votre réponse.
    J'ai corrigé mon programme et toujours pose le même problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include <stdio.h>
    #include <stdlib.h>
    #define dim 3
    void lecture (int T[dim])
    {
         int i;
         for (i=0;i<dim;i++)
         {
         printf("T[%d]=/n",i,T[i]);
         scanf("%d",&T[i]);
         }
         }
    void ones (int T[dim])
    {
         int i;
         for (i=0;i<dim; i++)
         T[i]=1;
         }
         /*************************/
    int main(int argc, char *argv[])
    {
        int T[dim];
        int j;
    for (j=0;j<dim;j++)
    { 
    printf("avant appel de ones T[%d]=%d\n",j,T[j]);
    Lecture(T);
    ones(T);
    printf("\n");
    }
    for (j=0;j<dim;j++)
    printf("apres appel de ones T[%d]=%d\n",j,T[j]);
     
      system("PAUSE");	
      return 0;
    }
    .
    Cordialement

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 293
    Par défaut
    Citation Envoyé par autoin Voir le message
    Salut à tous
    Merci exhortae pour votre réponse.
    J'ai corrigé mon programme et toujours pose le même problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include <stdio.h>
    #include <stdlib.h>
    #define dim 3
    void lecture (int T[dim])
    {
         int i;
         for (i=0;i<dim;i++)
         {
         printf("T[%d]=/n",i,T[i]);
         scanf("%d",&T[i]);
         }
         }
    void ones (int T[dim])
    {
         int i;
         for (i=0;i<dim; i++)
         T[i]=1;
         }
         /*************************/
    int main(int argc, char *argv[])
    {
        int T[dim];
        int j;
    for (j=0;j<dim;j++)
    { 
    printf("avant appel de ones T[%d]=%d\n",j,T[j]);
    Lecture(T);
    ones(T);
    printf("\n");
    }
    for (j=0;j<dim;j++)
    printf("apres appel de ones T[%d]=%d\n",j,T[j]);
     
      system("PAUSE");	
      return 0;
    }
    .
    Cordialement
    Bonsoir,

    je crois que tu m'as mal compris

    tu as déclarer une fonction lecture avec un l minuscule, or quand tu fais l'appel à ta fonction et l'apelles Lecture avec un L majuscule.


    dans ton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("T[%d]=/n",i,T[i]);

    l'erreur viens du fait que tu cherches à afficher 1 variables il ne faut pas mettre t[i]
    tu dois faire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("T[%d]= \n", i);
    ensuite pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int main(int argc, char *argv[])

    tu n'utilises ni argc ni argv autant alors faire

    voilà maintenant ton code corrigé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include <stdio.h>
    #include <stdlib.h>
    #define dim 3
    void lecture (int T[dim])
    {
         int i;
         for (i=0;i<dim;i++)
         {
         printf("T[%d] = \n", i);
         scanf("%d",&T[i]);
         }
         }
    void ones (int T[dim])
    {
         int i;
         for (i=0;i<dim; i++)
         T[i]=1;
         }
         /*************************/
    int main(void)
    {
        int T[dim];
        int j;
     
    for (j=0;j<dim;j++)
    {
    printf("avant appel de ones T[%d]=%d\n",j,T[j]);
    lecture(T);
    ones(T);
    printf("\n");
    }
    for (j=0;j<dim;j++)
    printf("apres appel de ones T[%d]=%d\n",j,T[j]);
     
      system("PAUSE");
      return 0;
    }

    ton code maintenant s'exécute, mais ne fonctionne pas correctement, à toi de rechercher la source de tes erreurs.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 293
    Par défaut
    j'ai corrigé une petite erreur que j'avais faite dans le message du dessus. relis le

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 293
    Par défaut
    ton code corrigé et commenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    #include <stdio.h>
    #include <stdlib.h>
     
    /* in est preferable d'ecrire une macro en majusucle */
    #define DIM 3
     
    void lecture (int T[DIM])
    {
       int i;
     
       for (i = 0; i < DIM; i++)
       {
         printf("T[%d] = ",i);
         scanf("%d",&T[i]);
       }
    }
     
    void affichage (int T[DIM])
    {
       int i;
     
       for (i = 0; i < DIM; i++)
       {
         printf("T[%d]= %d\n", i, T[i]);
     
       }
    }
     
    void ones (int T[DIM])
    {
       int i;
     
       for (i=0;i<DIM; i++)
       {
         /* meme si tu n'as qu'une seule instruction dans ta boucle il est tjs
            preferable de mettre des accolades, au cas ou plus tard tu veuilles
            ajouter du code dans ta boucle */
         T[i] = 1;
       }
    }
     
     
    int main(void)
    {
       int T[DIM];
     
       /* appel de la focntion qui lit les valeurs, pas besoin de boucle, car dans
          ta fonction on en a deja une */
       lecture (T);
     
       /* appel de la fonction affichage pour verifier que les valeurs saisie sont
          correctes a savoir que tu ne peux pas afficher les valeurs d'un tableau
          avant de l'avoir rempli avec la fonction lecture, sinon tu auras des
          valeurs aléatoires */
       printf ("\nAvant appel de one\n\n");
       affichage (T);
     
       /* On met toutes les cases du tableau a 1 */
       ones (T);
     
       /* on affiche */
       printf ("\nApres appel de ones\n\n");
       affichage (T);
     
       return 0;
    }
    si tu comprends pas poses des questions,

    mais juste une chose, avant de coder tu aurais du écrire tes algorithmes et penser ton programme, tu as fais des erreurs qui ne sont pas des erreurs de langage mais bien des erreurs d'algorithmique. Je te conseil donc de revoir un peu les bases des algorithmes.

    Bonne soirée.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/12/2009, 10h46
  2. lecture d'un vecteur
    Par autoin dans le forum Débuter
    Réponses: 3
    Dernier message: 09/02/2008, 20h48
  3. Réponses: 3
    Dernier message: 29/11/2007, 15h50
  4. Réponses: 2
    Dernier message: 01/03/2007, 18h05
  5. Lecture ou conversion en fichier d'un vecteur binaire
    Par Armitage1982 dans le forum SL & STL
    Réponses: 3
    Dernier message: 21/12/2006, 23h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo