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ème de tableau


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 Problème de tableau
    Bonjour, j'espère que vous allez bien.

    J'ai essayer de réaliser un petit programme vraiment tout simple et pourtant je n'y suis pas arriver...

    mon bût était de créer un Tableau de deux dimension de 5*4 qui va recevoir une lettre de a à z en minuscule pour remplir les lignes du tableau
    et une lettre Majuscule de A à Z pour remplir les colonnes du Tableau.

    j'ai d'abord écris ce programme en pseudo code avant d'essayer de le coder sur codeblocks.. mais mon résultat n'est pas du tout correcte ...
    j'aurai aimer y placer des chaînes de caractère complète pour entrer des noms mais je ne sais pas encore comment faire alors j'ai commencer
    par petit en placent juste une lettre Min/Maj et en affichant le résultat mais qui n'est pas celui que j'attendais ...

    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
     
     
    #include <iostream>
     
    using namespace std;
     
     
    int main()
    {
        int i = 0,j = 0;
        char Nom[4][5];
     
        cout <<"Bienvenu(e) dans notre programme de Tableau Min/Maj " <<endl<<endl<<endl;
     
        for (i = 0; i < 4; i++)
        {
            cout <<"Veuillez entrer une Lettre de a à z en minuscule : " <<endl;
            cin >> Nom[i];
        }
        for (j = 0; j < 5; j++)
        {
            cout <<"Veuillez entrer un lettre de A à Z en majuscule : " <<endl;
            cin >> Nom[j];
     
        }
     
        for (i = 0; i < 4; i++)
        {
            cout <<"Voici le résultat Min : " <<Nom[i] <<endl<<endl;
        }
        for (j = 0; j < 5; j++)
        {
            cout <<"Voici le résultat Maj : " <<Nom[j] <<endl<<endl;
        }
     
     
        cout <<"Fin du programme " <<endl;
     
     
        return 0;
    }
    Le comportement du Tableau ne me renvoie pas les bonne valeur pour le Tableau des lignes (Min)
    par contre il me renvoie bien les bonnes valeurs pour les colonnes (Maj) , mais il place les valeurs des
    colonne aussi dans le Tableau ou ce trouve les lignes...

    Et je n'arrive pas à comprendre pourquoi il adopte ce comportement ...

    Je vous remercie d'avance pour vos éclaircissement.

    Aigle-Royal

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par Aigle-Royal Voir le message
    mais mon résultat n'est pas du tout correcte ...
    C'est un problème de mathématiques une matrice ou un tableau à 2 dimensions

    Lorsque tu déclare ton tableau 2D ainsi XXX[4][5], tu crées un tableau avec 4 lignes et 5 colonnes (soit 20 valeurs)
    Et pour accéder à une case, tu es obligé de renseigner la ligne ET la colonne

    Que crois-tu aller chercher comme valeur avec XXX[i] ?

  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 à Foetus.
    Ok merci Foetus je penses avoir compris ...

    donc avec Nom[i] je ne vais chercher que les valeurs des lignes mais vu qu'il faut renseigné ligne et colonne pour avoir une case
    je n'aurais pas les valeurs que j'ai insérer dans la ligne non plus alors si j'ai bien compris ...

    Aigle-Royal

  4. #4
    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 Petite question.
    Bonjour à tous, j'espère que vous allez bien.

    Je souhaite écrire un Tableau de 2*5 qui va entrée des données de type caractère...

    Et j'aimerai bien à la fin Afficher le résultat :

    Exemple case n°1 j'entre chats, case n°2 j'entre chiens, case n°3 Olive etc...
    et j'aimerai ensuite que l'utilisateur vois à l'écran, vous avez entrer à la case numéro 1 chats,
    à la case numéro 2 chiens, à la case numéro3 Olive et ceci pour les 10 valeurs.

    Mais je me retrouve face à une soucis les indices prenne lettre par lettre et non une chaîne de caractère en entier.
    je n'arrive donc pas à afficher le résultat que je veux j'arrive juste à afficher lettre par lettre , j'ai donc essayer
    plusieurs façon pour arriver au résultat que je veux mais je n'y suis jamais arriver.

    Donc ma question est la suivante : est-ce que je peut créer ce tableau avec les bases que j'ai actuellement : en d'autre terme : Variables,Tests,Boucles,Tableaux, Fonctions, je n'ai pas encore acquis les pointeurs ...

    ou est-ce que je dois encore avancer plus dans la matière pour parvenir à cela ? Car ça fait deux jours que je bloque la dessus et n'arrive pas du tout
    à ce que je veux ...

    Je vous remercie de votre réponse et je vous souhaite une excellente journée.

    Aigle-Royal.

  5. #5
    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,

    Tu parles de tableaux de 2*5 caractères. Puis tu veux mettre "chat" dans une case. Si une case est un caractère tu ne pourras y mettre les 5 caractères nécessaires pour écrire "chat". Pour écrire des chaines, il faut au tableau de caractères. Donc ici il te faut un tableau de 2 tableaux de 5 tableaux d'environ 10 caractères, ça s'écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char  tableau[2][5][10];
    donc dans chaque case du tableau[j][i] tu pourras mettre un mot qui pourra avoir une longueur de 0 à 9 caractères.

  6. #6
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Ceci étant dit, l'idéal est toujours d'utiliser std::string (ou, à tout le moins, une des spécialisation de std::basic_string) pour représenter les chaines de caractères.

    A moins que tu ne sois vraiment sur que la taille de tes chaines de caractères n’excéderont JAMAIS un certain nombre de de caractères, commencer à travailler avec des tableaux de tailles fixe pour les représenter ne fera que te compliquer la vie inutilement.

    De la même manière, au lieu de travailler avec des tableaux C style, qu'il soient de taille fixe ou non, tu aurais sans doute intérêt à travailler avec l'une des collections fournies par la bibliothèque standard (std::array, si le nombre d'éléments à représenter est défini une bonne fois pour toute à la compilation, std::vector si le nombre d'éléments à représenter peut varier en cours d'exécution).


    Au final, si tu veux pouvoir représenter une matrice de 5 lignes composées de 5 colonnes contenant des chaines de caractères, un code proche de
    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
    #include <array> 
    #include <string> 
    #include <iostream>
    using lines = std::array<std::string, 4>; // 4 chaines de caractères (colonne) par ligne
    using matrix = std::array<lines, 5>; // 5 linges par matrice
     
    int main(){
        matrix m;
        for(int i=0;i<5;++i){
            for(int j= 0; j < 4; ++j){
                std::string temp{"chaine "};
                temp.append(std::to_string(i))
                    .append(",")
                    .append(std::to_string(j));
                m[i][j]=temp;
            }
    	}
    	for(auto const & i : m){
    			for(auto const & j:i)
    			 std::cout<< j<<" ";
    		 std::cout<<"\n";
    	}
    }
    qui affichera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a.exe
    chaine 0,0 chaine 0,1 chaine 0,2 chaine 0,3
    chaine 1,0 chaine 1,1 chaine 1,2 chaine 1,3
    chaine 2,0 chaine 2,1 chaine 2,2 chaine 2,3
    chaine 3,0 chaine 3,1 chaine 3,2 chaine 3,3
    chaine 4,0 chaine 4,1 chaine 4,2 chaine 4,3
    Note au passage que tu pourrais d'ailleurs avoir un certain intérêt à "linéariser" ta matrice; l'idée étant que si tu veux avoir une matrice de L lignes et de C colonnes, tu veux forcément pouvoir représenter L*C éléments, et qu'il est donc peut-être utile de les représenter directement dans un tableau à une seule dimention.

    L'accès aux différents élément se faisant alors selon la formule indice_recherché = numéro_ligne * C + numéro_colonneTu pourrais donc créer une classe matrice proche de
    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
    #include <array> 
    #include <string> 
    #include <iostream>
    #include <cassert>
    class Matrix{
    private:
        static constexpr size_t lines_{5};
    	static constexpr size_t rows_{4};
    	using array = std::array<std::string, lines_*rows_>;
    public:
        std::string const & operator()(size_t line, size_t row) const{
    		assert(line < lines_ && "line out of bound");
    		assert(row  < rows_ && "row out of bound");
    		return datas_[line * rows_ + row];
    	}
        std::string  & operator()(size_t line, size_t row) {
    		assert(line < lines_ && "line out of bound");
    		assert(row  < rows_ && "row out of bound");
    		return datas_[line * rows_ + row];
    	}
    	using iterator = typename array::iterator;
    	using const_iterator = typename array::const_iterator;
    	iterator begin(){
    		return datas_.begin();
    	}
    	iterator end(){
    		return datas_.end();
    	}
    	const_iterator begin() const{
    		return datas_.begin();
    	}
    	const_iterator end() const{
    		return datas_.end();
    	}
    	size_t rows() const{
    		return rows_;
    	}		
    	size_t lines() const{
    		return lines_;
    	}		
    private:
    	array datas_;
    };
     
    int main(){
        Matrix m;
        for(int i=0;i<5;++i){
            for(int j= 0; j < 4; ++j){
                std::string temp{"chaine "};
                temp.append(std::to_string(i))
                    .append(",")
                    .append(std::to_string(j));
                m(i,j)=temp;
            }
    	}
    	size_t pos=0;
    	for(auto const & s : m){
    		std::cout<< s<<" ";
    		++pos;
    		if(pos == m.rows()){
    			std::cout<<"\n";
    			pos = 0;
    		}
    	}
    }
    qui produirait une sortie tout à fait équivalente

    note, enfin, que l'on pourrait encore s'amuser à rendre cette matrice plus générique, en permettant de définir le nombre de lignes, le nombre de colonnes, et même le type des données qui seront représentées, mais ca, ce sera pour plus tard
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  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 Réponse à Koala01
    Bonjour Koala.

    Alors merci pour cette explication mais la mon Ami tu vas beaucoup trop loin pour moi , je ne suis qu'un simple débutant actuellement
    et tout ce que tu mentionne ici je ne l'ai pas encore vu dans mes cours actuel donc bien que c'est splendide lol c'est un peu trop avancé
    pour moi en ce moment... tu met des points au variables et des strings ainsi que des autos et bien d'autres choses que je ne connais pas du tout encore... Actuellement je ne suis qu'au niveau des Tableaux et je viens seulement de voir les pointeurs pourtant tout ce que tu mentionne la je ne l'ai pas encore vu .....

    Donc j'admire ton travail et ton explication mais je dois admettre que la pour l'heure tout cela est un peu trop chinois pour moi... Lol

    Je te souhaite une bonne journée à toi et merci pour tes explications un peut trop pro pour moi pour l'heure

    Aigle-Royal.

  8. #8
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Hé bien, dis toi que l'on ne programme plus en C++ comme on le faisait en l'an 2000!

    Si tu veux utiliser un tableau de taille fixe, connue à la compilation (par exemple, pour représenter quatre valeurs différentes), au lieu de définir ta variable sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int main(){
        Type tab[4]; // peu importe le type de la donnée
    }
    tu devrais plutôt utiliser std::array qui est fourni par la bibliothèque standard sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int main(){
        std::array<Type, 4> tab; // peu importe le type de la donnée
    }
    Si tu veux représenter un tableau dont le nombre d'élément est "inconnu lors de la compilation", et évolue au cours de l'exécution, tu auras sans doute intérêt à utiliser std::vector -- qui est également fourni par la bibliothèque standard -- au lieu de perdre ton temps à essayer de gérer la mémoire à la main (à coup de new / new et de delete / delete[]), car cela t'apportera énormément de facilité et, surtout, de sécurité lors de l'exécution.

    Le mot clé using que j'ai utilisé dans mon code correspond "assez bien" (quoi qu'il y ait quelques différences intéressante) au mot clé [c] en ce sens qu'il permet de définir ce que l'on appel un "alias de type". Pour faire simple, il nous permet de donner un "nom plus intéressant" (parce que plus compréhensible) à un type de donnée particulier.

    Ainsi, lorsque j'écris un code proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using lines = std::array<Type, 4>; // peu importe le type représenté par Type
    je dis au compilateur que j'ai décidé d'écrire lines partout où j'aurais du écrire std::array<Type, 4> pour pouvoir représenter un tableau contenant quatre éléments de type ... Type.

    J'ai choisi le mot lines (lignes en anglais) pour que les gens qui lisent le code comprennent "sans l'ombre d'un doute" que le type ainsi défini représente la notion de "ligne" (à savoir : un ensemble d'élément qui se suivent).

    De la même manière, j'ai utilisé cet alias de type pour en créer un autre sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using matrix = std::array<lines, 5>;
    Encore une fois, j'ai utilisé le terme matrix (matrice en anglais) pour que les gens qui lisent le code comprennent "sans l'ombre d'un doute" que je définis la notion de "matrice", de tableau à deux dimensions.

    Si je n'avais pas créé mon alias lines, j'aurais pu créer l'alias matrix sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using matrix = std::array<std::array<Type, 4>, 5>;
    pour indiquer que je veux un tableau qui contient ... 5 tableaux de 4 éléments. Mais cela aurait été moins facile à comprendre

    A la ligne 8 du premier code (la ligne qui ressemble à matrix m;), j'indique au compilateur que je veux créer une donnée de type ... matrix (autrement dit: un tableau de cinq lignes composées de quatre éléments) et qui sera appelée, par facilité, mSuivent (au lignes 9 et 10)deux boucles imbriquées parce que je veux définir la valeur de chacun des (5*4 = 20) éléments qui composent cette matrice.
    les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int i=0;i<5;++i){
            for(int j= 0; j < 4; ++j){
    me permettant
    1. d'avoir l'indice de chaque élément pour lequel je veux définir une valeur
    2. de modifier la valeur de chaque élément de manière unique

    Les lignes 11 à 14 n'étant là que pour m'assurer que chaque élément aura une valeur différente

    Pour la suite, j'ai décidé d'utiliser quelques fonctionnalités "récentes" (car elles ne sont apparues qu'en 2011) du C++, à savoir:

    l'inférence de type : Pour faire simple, disons que le compilateur est, dans des bien cas, tout à fait capable de déterminer le type de la donnée qu'il s’apprête à manipuler. Cela me facilitera la tâche si, un jour, je décidais un jour que ma matrice devait contenir 5 lignes de 15 colonnes au lieu de 5 lignes de 4, car je n'aurais qu'à changer ... le nombre d'éléments dans l'alias de type lineset les boucles basées sur des intervalles (range based loops, en anglais): Pour faire simple, on peut désormais écrire une boucle pour qui s'occupe de parcourir tous les élément d'une collection sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(Type nom_variable : colllection)
    au lieu de devoir écrire les boucles "pour classiques", qui ressemblent à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int i = 0; i < collection.size(); ++i)
    tout en ayant exactement le même résultat (mais généré de manière automatique par le compilateur

    Cela permet d'avoir un code plus compact et finalement "plus précis".

    Dans le cas présent, le code de la ligne 18for(auto const & it : m) indique donc que je veux
    1. que le compilateur définisse lui-même le type de la donnée que j'appellerai i (et qui est une instance de lines, en réalité)
    2. que nous parcourions tous les éléments auxquels la donnée nommée m (notre matrice) donne accès
    3. que je ne prévois pas de modifier les éléments obtenu (ca, c'est le mot clé const)
    4. que je veux manipuler i sous la forme d'une référence (ca, c'est le rôle de l'esperluette &), entre autres, pour éviter les copies inutiles (qui prennent énormément de temps lorsque l'on manipule des std::string).

    Seulement, après la première boucle, i correspond donc à une référence constante sur une instance de lines, et lines est en réalité un ... std::array<std::string, 4>. Je me retrouve donc avec quatre std::string l'une à la suite de l'autre. Or, j'ai besoin de les récupérer séparément pour pouvoir les afficher.

    Je vais donc créer une deuxième boucle (imbriquée dans la première) sous la forme defor(auto const & j : i) pour indiquer que je veux
    1. que le compilateur détermine lui-même le type de la variable que j'appellerai j (et qui est une std::string)
    2. que nous parcourions tous les éléments auxquels i donne accès (c'est à dire: que nous passions par les quatre chaines de caractères l'une après l'autre)
    3. que je ne prévois pas de modifier les éléments obtensus (toujours le mot clé const)
    4. que je veux manipuler j sous la forme d'une référence (toujours l'esperluette &)

    Une fois que j'en suis à ce point, je peux afficher la valeur de chacune des données sous la forme de std::cout<<j<<" "; de manière à ce qu'il y ait à chaque fois un espace entre les différentes chaines de caractères affichées.

    Et je complète les choses en faisant en sorte que l'affichage aille à la ligne chaque fois que toutes les chaines de caractères d'une ligne de la matrice ont été affichée, de manière à donner un aspect "tabulaire" à l'affichage.

    Au final, nous avons donc un code proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(auto const & i : m){       // pour toutes les lignes de la matrice
        for(auto const & j : i){   // pour toutes les cellules de la ligne
            std::cout<<j           // on affiche la donnée correspondante
                           <<" ";  //  on ajoute un espace "pour la facilité de lecture"
        }
        std::cout<<"\n";           // et on passe à la ligne suivante
    }
    En fait, ce code n'a que très peu d'intérêt en lui même, et il n'est sans doute même pas si compliqué que cela . Son atout majeur était surtout de te fournir un programme qui puisse montrer tout ce qui était fait à partir des explications que je t'avais données

    Enfin, il y a le fameux type std::sttring ... C'est le type -- lui aussi fourni par la bibliothèque standard -- qui permet de représenter des chaines de caractères.

    Sur ce point, je ne peux qu'insister le plus fort possible pour que tu t'habitues à l'utiliser au lieu d'utiliser un char * ou un char str[xxx] parce que, encore une fois:
    • ce sera beaucoup plus simple à l'utilisation pour toi
    • ce sera beaucoup plus sécurisant, avec beaucoup moins de risques liés aux dépassement de limites et autres
    • nous sommes ici dans la section C++, et le C++ n'a plus rien à voir avec le C depuis plus de vingt ans !!!


    Mais n'hésite pas à demander plus d'informations si cette nouvelle série d'explications est trop complexe pour toi
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  9. #9
    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 à Koala01
    Bonjour Koala.

    Après tes explications le code semble plus clair en effet et me montre que j'ai bien encore des choses à apprendre, bon avec mon livre qui fait 800 pages je ne suis pas bien étonné non plus... Le code avec tes explications semble moins complexe qu'a la première fois ou je l'ai vu lol (pour moi c'était chinois) mais la je m'y retrouve mieux en effet bien que j'ai eu difficile à comprendre une ou deux lignes mais cela est compréhensions (Tu sait bien expliquer) ;-) d'ailleurs je te remercie d'avoir pris ton temps de m'expliquer tout cela en détails c'est très aimable de ta part..

    Je supposes que je vais apprendre tout cela dans mon livre de c++ de Claude Delannoy : Titre ; Programmer en langage c++, 9ieme édition (norme c++11 c++14 et c++17)... Je ne suis actuellement qu'a la page 157 donc j'ai encore de la matière à voir avant d'atteindre les 800 pages ... Enfin j'avance progressivement car si je surcharge trop mon cerveau je risque de mettre de coté pendant un temps mon livre (Chose que j'ai déjà fait plusieurs fois) mais au jour d'aujourd'hui j'ai décidé de m'y consacré jusqu’à la fin ...

    Donc encore merci pour cette explication très pro!

    je te souhaite une bonne journée et à bientôt.

    Aigle-Royal.

  10. #10
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par Aigle-Royal Voir le message
    Je supposes que je vais apprendre tout cela dans mon livre de c++ de Claude Delannoy : Titre ; Programmer en langage c++, 9ieme édition (norme c++11 c++14 et c++17)... Je ne suis actuellement qu'a la page 157 donc j'ai encore de la matière à voir avant d'atteindre les 800 pages ... Enfin j'avance progressivement car si je surcharge trop mon cerveau je risque de mettre de coté pendant un temps mon livre (Chose que j'ai déjà fait plusieurs fois) mais au jour d'aujourd'hui j'ai décidé de m'y consacré jusqu’à la fin ...
    Ouchhh!!!!

    Tu as acheté le delannoy

    Tu aurais du en parler ou te renseigner beaucoup plus tôt, nous t'aurions évité un achat malheureux! as-tu lu ce qu'en pense la communauté

    Nous aurions, par exemple, pu te conseiller de prendre plutôt le C++ primer (5nd edition) de lipman, qui, bien qu'étant en anglais et ayant un peu de retard par rapport à la norme reste une valeur sure
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    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 à Koala01
    Ouchhh!!!!

    Tu as acheté le delannoy
    Euh oui j'ai acheté delannoy pourquoi il n'est pas bon ? (Rire)...

    Tu aurais du en parler ou te renseigner beaucoup plus tôt, nous t'aurions évité un achat malheureux! as-tu lu ce qu'en pense la communauté
    Non je n'ai pas lut car je n'était pas encore vraiment concentrer sur ce forum avant ... ni sur d'autres d'ailleurs ...

    Nous aurions, par exemple, pu te conseiller de prendre plutôt le C++ primer (5nd edition) de lipman, qui, bien qu'étant en anglais et ayant un peu de retard par rapport à la norme reste une valeur sure
    Je ne lit pas l'anglais malheureusement c'est pour cette raison que j'ai fais l'achat d'un livre en Français mon deuxième achat car avant javais un autre mais qui était obsolète c'est pour cette raison que je me suis tourner vers Delannoy ...

    Aigle-Royal

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

Discussions similaires

  1. Débutant en Javascript : problème de tableau !
    Par bluheim dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/11/2005, 15h03
  2. [XHTML] problème de tableau
    Par virgul dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 28/04/2005, 07h18
  3. Problème de tableau
    Par tom06440 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/04/2005, 20h30
  4. Problème de tableau
    Par krfa1 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/02/2005, 11h09

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