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 :

Problèmes avec les Vecteurs


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problèmes avec les Vecteurs
    salut !
    je voudrai créer un programme ki puisse lire 10 valeurs numeriques et affiche ensuite la valeur accumulée genre : si j'introduis 1 1 1 1 1 1 1 1 1 1
    ke le programme affiche 1 2 3 4 5 6 7 8 9 10
    voila le code ke g fé mais ca n'a pas l'air de marcher ca me sort d valeurs bizarres!
    merci d'avance !

    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
     
    #include <stdio.h>
    #include <conio.h>
    int main ()
    {
    int i;
    int v[i];
    int t[i];
    for ( i = 0; i < 10; i++){
    printf("Introduisez un numero: ");
    scanf("%d", &v[i]);
    t[0] = v[0];
    t[i] = t[i-1]+v[i];
     
    }
     
    printf("le resultat est: %d", t[i]);
    getche();
    return 0;
    }

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    861
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 861
    Points : 716
    Points
    716
    Par défaut
    1) Exprimez vous en Français,
    2) Utilisez la balise code (l'icone #) pour mettre le code,
    3) Mettez des tabulations afin que le code soit lisible.
    4) Indiquez clairement le problème (des valeurs bizarres : lesquelles)
    5)
    Ce code là compile ?

    6) A quoi sert le tableau v ?
    Est-ce à sa place une variable int qui s'incrémenterait simplement ne suffirait pas ?

    7)
    Quel est le but de cette ligne ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    Et l'initialisation des variables ?
    A ton avis, combien vaut i ?

    De plus, comme la taille désirée est constante, pourquoi ne pas utiliser une constante plutôt qu'une variable pour dimensionner le tableau ?

    Et tant qu'à faire à utiliser un tableau, pourquoi s'en servir pour cumuler les résultats ?
    Si tu utilises un tableau, la bonne démarche serait:
    - le remplir en utilisant une boucle pour lire chaque valeur
    - PUIS faire une autre boucle pour cumuler les valeurs dans une autre variable.

    Bien entendu, les remarques de Bayard sont parfaitement justifiées. En particulier, l'utilisation d'un tableau est superflue, il suffit de cumuler à mesure.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut pour bayard
    euh tu veux dire quoi par "exprimez vous en francais" ??
    si le code compile t[0] = v[0] c pour ke le premier element du tableau t[] soit egal a celui du tableau v[] ! quand je dis valeurs bizarres ca veut dire qu'il fait pas le bon calcul !
    il me sort des suites de chiffres qui n'ont aucun lien en apparence!
    voila !

  5. #5
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    861
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 861
    Points : 716
    Points
    716
    Par défaut
    c pour ke
    sa c pa du phrencé. Je parlais du post, pas du code.

    il me sort des suites de chiffres qui n'ont aucun lien en apparence!
    Les poster nous permettrait d'y voir plus clair.
    De même l'indentation et l'afichage avec les balises...

  6. #6
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    861
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 861
    Points : 716
    Points
    716
    Par défaut
    ->[C++ Erreur] Unit1.c(7): E2313 Expression constante nécessaire
    Comment est-ce que vous faîtes pour avoir des résultats avec du code qui NE COMPILE PAS ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par Bayard
    Comment est-ce que vous faîtes pour avoir des résultats avec du code qui NE COMPILE PAS ?
    Ça dépend du compilateur.

    Avec mingw32 sous windows, c'est ok

    SAUF, bien entendu, que i n'est pas initialisé...

  8. #8
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Citation Envoyé par Bayard
    Comment est-ce que vous faîtes pour avoir des résultats avec du code qui NE COMPILE PAS ?
    Si i est initialisée et qu'on a un compilateur qui implante C99 et les VLA (Variable length array), i n'a pas besoin d'être une expression constante. Les VLA étaient déjà présents en tant qu'extension (GNUC) dans gcc, avec une sémantique légèrement différente, si je ne me trompe pas, avant C99. En l'état actuel de l'implantation de C99 par gcc, l'usage des VLA est déconseillé: http://gcc.gnu.org/c99status.html . En règlant de manière adéquate notre compilateur (-Wall -Werror -ansi -pedantic), ce code doit donner une erreur à la compilation.

    Thierry

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par alsimb
    voila le code ke g fé mais ca n'a pas l'air de marcher ca me sort d valeurs bizarres!
    Je ne parle pas le reptilien...

    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
     
    #include <stdio.h>
    /* -ed- header non standard. Probablement inutile ici. */
    #include <conio.h>
    /* -ed-
    int main ()
     
    si il n'y a pas de parametres, on le precise avec void
    */
    int main (void)
    {
    /* -ed- cette variable n'est pas initialisee. */
       int i;
    /* -ed- Les VLA (Variable Length Array) sont une specificite de C99.
    Mon compilateur (MinGW) ne l'implemente pas correctement.
    De plus, comme la valeur de i est indéterminee,
    le comportelment est indefini.
     
    Tant que ceci n'est pas corrige, le reste n'a aucun sens.
    */
       int v[i];
       int t[i];
       for (i = 0; i < 10; i++)
       {
          printf ("Introduisez un numero: ");
          scanf ("%d", &v[i]);
          t[0] = v[0];
          t[i] = t[i - 1] + v[i];
     
       }
     
       printf ("le resultat est: %d", t[i]);
       getche ();
       return 0;
    }

Discussions similaires

  1. problème avec les vecteur de numpy
    Par anthony.pa dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 14/02/2013, 13h44
  2. problème avec les vecteurs
    Par beloboy dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/06/2012, 13h37
  3. Problème avec les vecteurs Java
    Par choko83 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 22/05/2008, 17h52
  4. Problème avec les vecteurs
    Par lamia89 dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 09/04/2008, 21h34
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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