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 :

Correction de mes exercices en C++ moderne


Sujet :

C++

  1. #1
    Membre du Club Avatar de toto81
    Homme Profil pro
    Agent TNT Express
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent TNT Express
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Correction de mes exercices en C++ moderne
    Bonjour tout le monde! Je me suis mis a suivre un cours et je viens vers vous pour corriger mes exos si vous êtes motivé!

    Plutôt que créer 25.000 topic, j'afficherais tout mes exos ici, sauf si vous pensez que c'est mieux un nouveau topic à chaque fois.

    Donc voici le premier (mes réponses en gras):

    Nom : Sans titre-1.png
Affichages : 2602
Taille : 21,5 Ko

    Et voilà le deuxième:

    Nom : Sans titre-2.png
Affichages : 2200
Taille : 20,2 Ko

    Ma réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream>
     
    int main()
    {
        std::cout << std::boolalpha;
        std::cout << "0 ou 0 = " << (0 || 0) << std::endl;
        std::cout << "0 ou 1 = " << (0 || 1) << std::endl;
        std::cout << "1 ou 0 = " << (1 || 0) << std::endl;
        std::cout << "1 ou 1 = " << (!1 && 1 || 1 && !1) << std::endl;
    }
    Merci d'avance les amis

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ta réponse 1 me paraît correcte, mais ta réponse 2 ne me semble pas répondre à la question: On te demande le code du OU Exclusif, et toi tu postes le code (avec beaucoup de duplication) pour écrire une table de vérité du OU Inclusif qui se transforme en OU Exclusif pour le dernier élément...

    Pour moi, la réponse devrait juste être ceci: bool ouExclusif(bool a, bool b) { return (a && !b) || (!a && b); }
    Et puis, si tu veux faire une table de vérité autour, en C++ moderne...
    Code C++11 : 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
    #include <iostream>
    #include <iomanip>
    #include <functional>
    #include <string>
     
    void affichLigneTableVerite(std::string nomOperateur, bool a, bool b, std::function<bool(bool, bool)> op)
    {
    	bool resultat = op(a, b);
    	std::cout << std::setw(5) << a << ' ' << nomOperateur << ' ' << std::setw(5) << b << " = " << resultat << std::endl;
    }
     
    void tableVerite(std::string nomOperateur, std::function<bool(bool, bool)> op)
    {
    	std::cout << "Table de verite pour operateur " << nomOperateur << ":" << std::endl;
    	affichLigneTableVerite(nomOperateur, false, false, op);
    	affichLigneTableVerite(nomOperateur, false, true , op);
    	affichLigneTableVerite(nomOperateur, true , false, op);
    	affichLigneTableVerite(nomOperateur, true , true, op);
    	std::cout << std::endl;
    }
     
     
    bool et(bool a, bool b)
    {
    	return a && b;
    }
    bool ouInclusif(bool a, bool b)
    {
    	return a || b;
    }
    bool ouExclusif(bool a, bool b)
    {
    	return (a && !b) || (!a && b);
    }
     
    int main(void)
    {
    	std::cout << std::boolalpha;
    	tableVerite("AND", et);
    	tableVerite("OR", ouInclusif);
    	tableVerite("XOR", ouExclusif);
    	return 0;
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    1) Je suis d'accord avec tes réponses, mais pour le code le seul xor que tu fais c'est la dernière ligne, donc les deux précédentes sont hors-sujet, n'est-ce pas? Ton code est bon mais on considère souvent qu'il est bon de placer entre parenthèse les "sous-propositions" pour éviter les erreurs de priorité d'opérateurs (que tu ne fais pas, la priorité de && > à celle de ||). Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( (x || y) && !( x && y) ) std::cout << "x xor y == true";
    2) Je complète l'exercice de la façon suivante: écrire un programme qui affiche la table de vérité de xor
    3) Pour aller plus loin:
    a. (moyen) écrire une fonction qui affiche la table de vérité de toute proposition à deux variables propositionnelles
    b. (difficile) écrire une fonction qui prend en argument une chaîne de caractères décrivant une proposition logique et en affiche la table de vérité

  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
    Par défaut
    Salut,

    le XOR c'est l'opérateur ^ qu'on peut composer en (a && !b) || (b && !a) qui est strictement identique à (x || y) && !( x && y) même si je n'avais jamais vu cette écriture

    De mes souvenirs de cours
    !(a && b) === (!a || !b)
    !(a || b) === (!a && !b)
    factorisation (les ! sont dits "barre" et la notation est une barre par-dessus et non un ! devant)

    Active les warning, une ligne comme (!1 && 1 || 1 && !1) le compilateur t'indiquera de faire attention, et il vaut mieux parenthéser trop que trop peu. Ca coûte rien (sauf quelques caractères sur ton disque )
    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
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    le xor signifie "l'un est vrai et l'autre est faux".
    Cela peut s'écrire de deux manières:
    • le premier est vrai et le deuxieme est faux, ou vice-versa
    • l'un des deux est vrai et l'un des deux est faux


    La première version s'écrit ((a && !b) || (!a&&b)), tandis que la second s'écrirait plutot ((a||b) && (!a||!b)).

    Edit: c'est vrai que l'un est faux est aussi l'opposé de les deux sont vrais, qui s'écrit ! (a && b), et donc donnerait un ((a||b) && !(a&&b)). Je prèfere la second écriture, qui est plus équilibrée (visuellement)
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    le XOR c'est l'opérateur ^
    ^ c'est l'opérateur xor binaire, pas le xor logique donc 1 ^ 1 == false, ok, mais 1 ^ 2 == 3...

  7. #7
    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
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    ^ c'est l'opérateur xor binaire, pas le xor logique donc 1 ^ 1 == false, ok, mais 1 ^ 2 == 3...
    On parle de logique, de true(1) et false(0), pas de 2, 3 ou class maison comparée à chien. Et ^ est tout à fait l'opérateur xor de ce cadre. Quand j'écris un xor (sisi ça arrive ) sur mes bool j'utilise ^ et pas les formules à rallonge indiquées plus haut. Et ça marche.
    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.

  8. #8
    Membre du Club Avatar de toto81
    Homme Profil pro
    Agent TNT Express
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent TNT Express
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Salut les gars!

    J'avoue avoir du mal à comprendre ce que me demande cet exo... Je vois pas la différence entre un (true ou false) en OU inclu ou exlu :/

    Est-ce que c'est plutôt ca:

    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
    #include <iostream>
    #include <bitset>
     
    bool Xor(bool a,bool b)
    {
        bool c;
        c = (!a && b || a && !b);
        return c;
    }
     
    int main()
    {
        std::cout << std::boolalpha;
        std::cout << "false ou false =" << Xor(false,false) << std::endl;
        std::cout << "false ou true =" << Xor(false,true) << std::endl;
        std::cout << "true ou false =" << Xor(true,false) << std::endl;
        std::cout << "true ou true =" << Xor(true,true) << std::endl;
        return 0;
    }

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Oui, c'est plutôt ça et ça répond à la question (tu as clairement un code qui implémente explicitement l'opérateur XOR).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre du Club Avatar de toto81
    Homme Profil pro
    Agent TNT Express
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent TNT Express
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Ah super!

    C'est vrai que les exos de ce cours, quand on est débutant, ne sont pas facile à comprendre...

    Je suis sur le chapitre de la représentation binaire des entiers et là je n'ai absolument rien compris à l'exercice final:

    Dans un ordinateur, composé de transistors, ces derniers forment des portes logiques. Ces portes permettent de réaliser tous les calculs.

    pour 1 bit, réécrire l'addition avec les opérations logiques
    uniquement avec NAND
    pour 8 bits, idem
    Je sais pas si c'est moi ou quoi mais je commence à douter de mes capacités à comprendre tout ça :/

  11. #11
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par Bousk Voir le message
    On parle de logique, de true(1) et false(0), pas de 2, 3 ou class maison comparée à chien. Et ^ est tout à fait l'opérateur xor de ce cadre. Quand j'écris un xor (sisi ça arrive ) sur mes bool j'utilise ^ et pas les formules à rallonge indiquées plus haut. Et ça marche.
    Avec le même raisonnement, les opérateurs logiques sont & et |, pas && et ||. Mais non, les premiers sont des opérateurs binaires, les seconds des opérateurs logiques.

    Il ne s'agit pas de comparer des chiens et des maisons. Par exemple, mettons que je veuille vérifier si mon conteneur contient des éléments, je peux écrire:

    si je veux savoir si l'un ou l'autre seulement de mes conteneurs contient des éléments je peux écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // if ( cont1.size() ^ cont2.size() ) ... Aargh!
    if ( my_xor(cont1.size(), cont2.size()) ) ...
    Alors je ne dis pas que ce sera le plus beau code jamais vu mais il est légal et montre bien qu'il ne faut pas confondre l'opérateur ^, xor binaire, et un xor logique.

  12. #12
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par toto81 Voir le message
    Ah super!

    C'est vrai que les exos de ce cours quand on est débutant c'est pas facile de comprendre...

    Je suis sur le chapitre de la représentation binaire des entiers et la je n'ai absolument rien compris à l'exercice final:



    Je sais pas si c'est moi ou quoi mais je commence a douter de mes capacités à comprendre tout ça :/
    Mais si, ne t'inquiète pas. Il s'agit d'additionner des nombres en ayant en tête leur représentation binaire sur un certain nombre de bits. Sur 1 bit (qui ne code que 0 ou 1)

    0b + 0b = 0b
    1b + 0b = 1b
    0b + 1b = 1b
    1b + 1b = 0b // = 10b si tu as 2 bits mais tu n'en as qu'un seul

    ça ne te rappellerait pas une certaine table de vérité?

  13. #13
    Membre du Club Avatar de toto81
    Homme Profil pro
    Agent TNT Express
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent TNT Express
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Le xor!

    D'accord mais sérieusement, il est où l'interet de savoir faire ca? Ca sert dans la programmation ou c'est juste pour avoir quelques notions histoire de?

    Pour la deuxième question: -uniquement avec NAND.

    C'est surtout ca que je ne comprends pas

  14. #14
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    D'accord mais sérieusement, il est où l'interet de savoir faire ca? Ca sert dans la programmation ou c'est juste pour avoir quelques notions histoire de?
    histoire de. C'est de la gymnastique intellectuelle. Mais bon, je t'ai donné mon conseil, apprends le C++ avec le C++ programming, principles and practice du maître. Les exercices sont des choses qui servent effectivement: validation des entrées utilisateurs, parseurs, interfaces graphiques, etc.

    Pour la deuxième question: -uniquement avec NAND.
    NAND, qui veut dire !(x && y) est un opérateur universel. Il permet d'écrire n'importe quell connecteur logique:

    NOT ( !x ) = NAND(x, x)
    AND ( x && y) = NOT(NAND(x,y)) = NAND( NAND(x, y), NAND(x, y) )
    etc.

  15. #15
    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
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    Avec le même raisonnement, les opérateurs logiques sont & et |, pas && et ||. Mais non, les premiers sont des opérateurs binaires, les seconds des opérateurs logiques.
    Et t'auras exactement le même résultat si tes opérandes sont des booléens. Et non les fonctions qui retournent un booléen ne sont pas des booléens. Et oui le compilateur fera des optimisations et early return avec &&/|| qu'il ne fera pas en utilisant &/|. C'est pas le sujet.

    Citation Envoyé par stendhal666 Voir le message
    Il ne s'agit pas de comparer des chiens et des maisons. Par exemple, mettons que je veuille vérifier si mon conteneur contient des éléments, je peux écrire:
    si je veux savoir si l'un ou l'autre seulement de mes conteneurs contient des éléments je peux écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // if ( cont1.size() ^ cont2.size() ) ... Aargh!
    if ( my_xor(cont1.size(), cont2.size()) ) ...
    Il vaudrait mieux écrire if(!cont.empty()) et serait plus simple d'écrire if (cont1.empty() ^ cont2.empty()) mais tu fais ce que tu veux.

    D'accord mais sérieusement, il est où l'interet de savoir faire ca? Ca sert dans la programmation ou c'est juste pour avoir quelques notions histoire de?

    Pour la deuxième question: -uniquement avec NAND.
    Comme dans tout court : nulle part et partout.
    Les NAND c'est des portes logiques, on voit ça surtout dans le cadre des cours de SI et électroniques. En informatique pas vraiment, sauf à retracer un peu l'histoire et apprendre mieux comment la magie opère.
    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.

  16. #16
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    si je veux savoir si l'un ou l'autre seulement de mes conteneurs contient des éléments je peux écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // if ( cont1.size() ^ cont2.size() ) ... Aargh!
    if ( my_xor(cont1.size(), cont2.size()) ) ...
    Alors je ne dis pas que ce sera le plus beau code jamais vu mais il est légal et montre bien qu'il ne faut pas confondre l'opérateur ^, xor binaire, et un xor logique.
    C'est avec des exemples comme ça qu'on se rend compte de l'intérêt des langages où les structures conditionnelles (if, for, while) n'acceptent que les expression du type bool (C#, Java, etc.).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  17. #17
    Membre du Club Avatar de toto81
    Homme Profil pro
    Agent TNT Express
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent TNT Express
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Mon dieu... Et moi qui croyais qu'apprendre l'anglais ça allait être chaud.. C'est de la rigolade a coter du C++! ^^

    Pour ton bouquin, j'ai regardé sur le net mais on dirait qu'il ne se vend plus ou alors j'ai mal cherché... De plus je ne trouve pas combien
    il y a eu d’édition, je voudrais pas recommencer avec un truc obsolète. :/

  18. #18
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 793
    Points : 18 948
    Points
    18 948
    Par défaut
    Je ne sais pas si tu débutes en programmation mais C++ c'est pas ce qu'il y à de plus facile, et certainement pas avec le cours que tu suis. C'est peut être pas encore du C++ moderne mais dans la page cours C++ il y à des cours C++ bien plus faciles à suivre.
    Ca serait infiniment plus facile d'apprendre la programmation en commençant par des cours d'algo, puis ensuite de vrais cours débutants avec un langage plus facile pour débuter, exemples :

    Programmation Java pour les enfants, les parents et les grands-parents , voir les commentaires pour les témoignages de très nombreuses réussites.
    Apprendre à programmer avec Python 3 par Gérard Swinnen, très nombreuses réussites aussi, voir les commentaires.

    Dans les écoles et universités tu commences par apprendre les bases avec par exemple C, Pascal, ou le plus souvent maintenant Python ou Java, certainement pas avec C++.
    Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...

  19. #19
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Pour ton bouquin, j'ai regardé sur le net mais on dirait qu'il ne se vend plus ou alors j'ai mal cherché... De plus je ne trouve pas combien
    il y a eu d’édition, je voudrais pas recommencer avec un truc obsolète. :/
    Oui, du coup j'ai regardé de plus près, l'édition française a l'air d'être épuisée. Si tu lis en anglais, voici l'édition à acheter: http://www.priceminister.com/offer/b...up-bjarne.html

    Il y a peut-être des pdf qui traînent sur le net (naturellement je ne pense qu'à un téléchargement légal ) à des tarifs plus abordables. Il est fait pour les gens qui débutent en programmation (et 3*non, il n'est pas nécessaire de commencer par Python, en plus, vu ton premier TP, tu es doué).

    Je n'ai pas regardé ton tuto, celui-là m'a l'air d'avoir d'autres défauts mais bon. A mon avis, tu peux sauter les exercices les plus hardcores comme l'addition binaire. A ta place j'y reviendrai plutôt après être devenu capable de faire des programmes un peu utiles (c'est tout de même ça qui est intéressant, plus que de refaire une addition comme le processeur la ferait)

  20. #20
    Membre du Club Avatar de toto81
    Homme Profil pro
    Agent TNT Express
    Inscrit en
    Mai 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent TNT Express
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2012
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    C'est exactement ce que je me suis dis... Avec le tuto d'OC qui est obsolète, à chaque chapitre j'apprenais plein de truc, je sentais vraiment ma connaissance grandir
    et en quatre jours, j'ai pu faire un programme complexe (pour mon niveau bien entendu) alors que depuis que je suis ce cours, j'ai juste l'impression d'écouter un chinois
    me dire la météo et le journal de 20h... ^^

    Je ne remets pas en cause l'auteur des cours qui en connait un rayon c'est sure mais je pense que ce n'est pas dédié à un débutant et il est peut être trop précis. Mais
    du coup je suis paumé, je sais vraiment plus quoi faire... Recommencer encore une fois une autre formation du début puis déjà qu'en français c'est pas forcement simple,
    alors un bouquin en anglais...

    J'ai pas envie de lâcher, j'ai vraiment trouvé un truc qui me passionne, c'est rageant que tout soit en anglais partout!

Discussions similaires

  1. Problème dans la page de correction d'un exercice?
    Par menoulette dans le forum Langage
    Réponses: 4
    Dernier message: 30/08/2009, 23h57
  2. Réponses: 11
    Dernier message: 04/02/2008, 20h37
  3. Correction d'un exercice en C++
    Par aniscpp dans le forum C++
    Réponses: 2
    Dernier message: 07/12/2006, 14h01
  4. besoin d'une correction sur un exercice.
    Par phakso dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 03/03/2006, 10h01

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