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 :

Code récapitulatif de certaines notions que j'ai appris


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 67
    Points : 29
    Points
    29
    Par défaut Code récapitulatif de certaines notions que j'ai appris
    Bonjour à tous, comment allez-vous ?

    Comme le titre le précise, j'ai écris un code qui reprend quelques notions de bases que j'ai appris afin de voir
    si j'arrive à bien comprendre la logique et leurs fonctionnement cependant bien que mon code soit correcte
    j'ai un petit soucis dans l'affichage ... un soucis qui je pense dois être mathématique mais dont je ne parvient
    à en voir l'emplacement..

    Je me tourne donc vers vous chez programmeur pour que vous m'aidiez à voir ou est ce petit problème... qui
    j'ai essayé de résoudre plusieurs fois... ("Je précise que je suis débutant) donc soyez indulgent si possible lol

    Voici le code :

    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 <iostream>
    using namespace std;
     
    //fonctions
    float &Fonction(float &a, float &b);
    std::string FoncTab(std::string Tab[10][2], int TailleA, int TailleB);
     
    //Début
    int main()
    {
        int i,j,TN1,TN2;
        float FN,FN1;
        std::string Tab[10][2];
     
        //Concernant la fonction &fonction
        cout <<"Veuilez entrer une valeur avec décimal : " <<endl; cin >> FN;
        cout <<"Veuillez entrer une seconde valeur avec décimal : " << endl; cin >> FN1;
     
        //Valeur taille du tableau
        cout <<"Veuillez entrer la valeur de N1 pour la taille du Tableau" << endl;
        cin >> TN1;
     
        cout <<"Veuillez entrer la valeur de N2 pour la Taille du Tableau" << endl;
        cin >> TN2;
     
     
     
        cout <<"veuillez entrer des valeurs : " << endl;
        for (i = 0; i < TN1; i++)
        {
            for (j = 0; j < TN2; j++)
            {
                cin >> Tab[i][j];
            }
        }
     
        //Appel &Fonction
        Fonction(FN1,FN);
     
        //appel FoncTab
        FoncTab(Tab, TN1,TN2);
    }
     
    //Fonction 1
    float &Fonction (float &a, float &b)
    {
     
        a = b * 2;
        b = a / 2;
        cout <<"Voici Valeur a : " <<a <<endl;
        cout <<"Voici valeur b : " <<b <<endl;
    }
     
    //Fonction 2 dans cette fonction semble être le problème ....
    std::string FoncTab(std::string Tab[10][2], int TailleA, int TailleB)
    {
        int i,j;
     
        for (i = 0; i < TailleA; i++) // 0 / 2
        {
            for (j = 0; j < TailleB; j++) // 0/3
            {
                cout <<"Voici Tab : " << Tab[i][j] <<endl;
            }
        }
    }
    Voici en image le résultat de ce code :

    Nom : Screenshot_20200101_202005.png
Affichages : 438
Taille : 212,4 Ko

    Comme vous pouvez le constater j'ai une chaîne de caractère qui ne s'affiche pas et qui répète une autre que j'ai entré ...

    Je vous remercie d'avance pour vos réponses , passez une excellente journée / soirée et à bientôt.

    Aigle-Royal

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Ton tableau est un tableau [10][2]. Donc dépasser 10 pour la première, ou dépasser 2 pour la seconde dimension amène à ce qu'in appelle un "undefined behavior". Et la seconde valeur saisie vaut 3 donc est supérieure à 2!

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 67
    Points : 29
    Points
    29
    Par défaut Réponse à Dalfab.
    Bonsoir Dalfab.

    Merci pour cette réponse je vois en effet mieux pourquoi maintenant mais alors comment dois-je procédé pour parvenir à mettre la valeur que je choisi
    et avoir le bon affichage ? car si je mets une plus grande valeur dans la définition des Tableau genre [50][50] par exemple j'aurai quand même le problème qui ce pose si je dépasse cette taille donc comment dois-je procédé ?

    est-ce que je dois procédé avec un if par exemple ? ou je dois changer les choses au niveau du Tableau carrément ?

    Je te remercie d'avance pour ta réponse.

    Aigle-Royal.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 67
    Points : 29
    Points
    29
    Par défaut Bousk
    Citation Envoyé par Bousk Voir le message
    Bonsoir Bousk Je n'ai pas très bien compris votre message vous me dite qu'on ne peut pas recevoir d'aide ici ? A quoi sert ce forum alors si on ne peut pas avoir d'aide en programmation ?

    J'ai déjà été voir vos tutoriels or ils sont un peu plus avancé que le livre avec lequel j'étudie donc je me disperse de trop en prenant des informations à
    droite et à gauche et je préfère rester focus sur mon livre actuellement, mais je pensais que ce forum était la pour s'entre aider ... me serais-je tromper ?

    Aigle-Royal ...

  6. #6
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    C'est l'aide par MP qui n'est pas donné.
    Bousk ta répondu rapidement d'utiliser std::vector.

    Le problème est peut-être que ton bouquin ne t'a pas encore décrit les std::vector. C'est pourtant l'objet de base le plus simple pour gérer des collections, il est à apprendre en premier. Bien plus puissant, plus souple et moins risqué que les tableaux bruts.
    Dans ton code : std::string Tab[10][2]; est à remplacer par std::vector<std::vector<std::string>> Tab;.
    Dès que tu connais TN1 et TN2, tu dimensionnes ton tableau de tableaux par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tab.resize(TN1);           // Les lignes
    for ( auto&& cols : Tab )  // Pour chaque ligne, les colonnes
        cols.resize(TN2);
    Et ça peut s'utiliser comme un "bête" tableau en continuant d'écrire : Tab[i][j], mais ça sait faire bien plus de choses.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2017
    Messages : 67
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par dalfab Voir le message
    C'est l'aide par MP qui n'est pas donné.
    Bousk ta répondu rapidement d'utiliser std::vector.
    Ok merci car je n'avais pas bien compris...

    Le problème est peut-être que ton bouquin ne t'a pas encore décrit les std::vector. C'est pourtant l'objet de base le plus simple pour gérer des collections, il est à apprendre en premier. Bien plus puissant, plus souple et moins risqué que les tableaux bruts.
    En effet mon bouquin n'a pas encore parler de cela...

    Dans ton code : std::string Tab[10][2]; est à remplacer par std::vector<std::vector<std::string>> Tab;.
    Dès que tu connais TN1 et TN2, tu dimensionnes ton tableau de tableaux par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tab.resize(TN1);           // Les lignes
    for ( auto&& cols : Tab )  // Pour chaque ligne, les colonnes
        cols.resize(TN2);
    Et ça peut s'utiliser comme un "bête" tableau en continuant d'écrire : Tab[i][j], mais ça sait faire bien plus de choses.
    D'accord en effet je n'ai pas encore appris tout cela peut-être que mon bouquin en parlera plus tard, mais sinon j'ai résolu mon soucis , merci...

    Aigle-Royal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [rt.jar]Code source de certains packages manquant.
    Par goony dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 13/01/2008, 12h00
  2. Comprendre certaines notions de struts
    Par gentil dans le forum Struts 1
    Réponses: 5
    Dernier message: 30/03/2007, 10h28
  3. Réponses: 10
    Dernier message: 31/08/2006, 14h57
  4. Réponses: 2
    Dernier message: 22/08/2006, 19h24
  5. Plus d'image sur certains codecs, que du son
    Par totofweb dans le forum Mandriva / Mageia
    Réponses: 5
    Dernier message: 16/01/2006, 20h56

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