Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 89 sur 334 PremièrePremière ... 3979818283848586878889909192939495969799139189 ... DernièreDernière
Affichage des résultats 2 641 à 2 670 sur 10008
  1. #2641
    B'soir,

    J’ai besoin d’un petit coup de main, je dois avoir une erreur débile dans mon code mais je trouve pas . But du jeu : calculer la surface et le volume d’un objet polyédrique en C++. On nous donne dans un fichier les coordonnées des sommets composants les faces. Mon soucis est que sur toutes mes faces, comprenant une table de leurs sommets, le dernier sommet saute. En plaçant des espions dans la méthode qui construit la face je vois qu’elle construit bien la face avec tous les sommets, sans soucis, seulement dans ce qui est renvoyé il manque le dernier sommet. Je suppose que ça vient du type renvoyé par la méthode mais mon cerveau commence à fondre depuis cette aprem .

    Code:
    .h :
    static Face lire (char * ligne, const Table <Vertex> &table_vertex ) ;
    
    .cpp:
    Face Face::lire (char * ligne, const Table <Vertex> &table_vertex )
    {
    Face f ;
    ...
    return f ;
    }
    "ligne" contient le nom de la Face et le nom de ses sommets, "table_vertex" est la liste des sommets crée auparavant.

    Merci.

  2. #2642
    Va falloir en montrer un peu plus. Allez on n'a pas honte, on se déshabille pour le toucher rectal.

    Montre ta classe Face pour voir ?

    ---------- Post added at 21h07 ---------- Previous post was at 21h05 ----------

    Et puis le code que t'as caché dans les "..." aussi tant qu'à faire hein...

    T'as gist.github.com ou codepad.org ou ideone.com si tu veux coller du code coloré plus facilement que sur le forum.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  3. #2643
    Citation Envoyé par rOut Voir le message
    Va falloir en montrer un peu plus. Allez on n'a pas honte, on se déshabille pour le toucher rectal.

    Montre ta classe Face pour voir ?

    ---------- Post added at 21h07 ---------- Previous post was at 21h05 ----------

    Et puis le code que t'as caché dans les "..." aussi tant qu'à faire hein...

    T'as gist.github.com ou codepad.org ou ideone.com si tu veux coller du code coloré plus facilement que sur le forum.
    J’ai récupéré le code d’un pote, on a pareil à part le nom des variables et son code, exécuté chez moi il n’a pas cette erreur .

    Alors, la classe Face (je vous ai viré quelques méthodes qui interviennent plus tard dans le code) : http://codepad.org/WZQa3fzS
    La méthode de lecture : http://codepad.org/WTDfHJhW
    Et l’appel de la méthode concernée : http://codepad.org/qQKhBfrU

  4. #2644
    C'est qui ton prof que j'engage un tueur à gages ?
    Ca fait 10 ans que j'avais pas vu strtok, cette fonction n'est même pas réentrante Autant utiliser des goto, tu seras plus moderne.

    Bref, je vois pas d'erreur dans le petit machin que t'as linké, mais d'après ta description du problème il y a des chances que le problème se situe dans la classe Table si c'est aussi toi qui l'a codée.
    Rust fanboy

  5. #2645
    Tu es sûr qu'à la fin de la fonction "lire", juste avant le return, f contient bien tous les vertex ?

    Ta class Table<> elle est certifiée ?

    ---------- Post added at 21h35 ---------- Previous post was at 21h34 ----------

    C'est quoi le contexte sinon ? Un exo d'école ?
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  6. #2646
    Citation Envoyé par Tomaka17 Voir le message
    C'est qui ton prof que j'engage un tueur à gages ?
    Ca fait 10 ans que j'avais pas vu strtok, cette fonction n'est même pas réentrante Autant utiliser des goto, tu seras plus moderne.

    Bref, je vois pas d'erreur dans le petit machin que t'as linké, mais d'après ta description du problème il y a des chances que le problème se situe dans la classe Table si c'est aussi toi qui l'a codée.
    Qui c’est le gros malin qui a laissé trainé un "-1" dans un for ? C’est Frypo . Merci.

    Et c’est quoi le soucis de strtok ? Tu fais quoi à la place ?

    Edit : exo d’école ouais.

  7. #2647
    Ben le soucis avec strtok, pour faire simple :

    Code:
    void lire_fichier() {
        char contenuFichier[256];
        get_contenu_fichier(contenuFichier);
    
        for (char* i = strtok(contenuFichier, ";"); i; i = strtok(null, ";")) {
            ...blabla...
        }
    }
    
    void foo(char* str) {
       for (char* i = strtok(str, " "); i; i = strtok(null, " "))
          lire_fichier();    // oops! große malheur
    }
    Déjà à la place en C++ on utilise std::string et pas des char. Je trouve ça un peu n'importe quoi de t'enseigner le principe des classes, des templates, etc. et pas std::string.
    En gros on te facilite la vie tout en te tirant une balle dans le pied en même temps.

    La façon la plus propre de faire ça c'est de ne pas modifier la chaine de caractères, mais de passer à chaque fois un pointeur vers le début et un pointeur vers la fin.
    Après tu peux aussi stocker des copies de chaque bout de phrase dans un buffer à part, ou bien mettre les séparateurs à 0 manuellement à l'aide de strpbrk (plus sûr du nom)
    Rust fanboy

  8. #2648
    Code:
    std::vector< std::string > tokens;
    boost::split(tokens, line, boost::is_any_of(" \n\t"), boost::token_compress_on);
    Hop.

    Ou encore mieux:
    Code:
        area = boost::geometry::area(polygone);
    Problem solved.

    J'imagine bien quand Frypo va expliquer au prof : ouais en fait ton exo il me gonflait, c'est déjà codé dans Boost.Geometry de toute manière.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  9. #2649
    Mais moi aussi j'utilise strtok
    M'en fous, je boude tant que j'ai pas de manuel de boost. D'abord.

  10. #2650
    Tu veux dire des manpages ? Parce que niveau manuel c'est quand même pas trop mal sur internette...
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  11. #2651
    J'ai vu quelques bouquins trainer (deux/trois seulement en fait), je ne sais pas trop lequel acheter.
    Question tutos, je vois bien http://en.highscore.de/cpp/boost/, mais quand je pars de zéro, je suis content d'avoir un bouquin.

    Hé oui, je suis un vieux

  12. #2652
    Je suis jeune et j'aime aussi avoir des livres.

  13. #2653
    Non mais faut pas utiliser Boost juste pour l'utiliser, c'est suivant si tu as un besoin précis, tu vas voir s'ils ont quelque chose d'adapté. Parfois oui, parfois non. Si ton problème est classique, il y a des chances qu'il y ait quelque chose. S'il y a une bibliothèque qui fait ce que tu voulais, ben tu lis la doc et t'essaies de comprendre ce qu'elle fait ou comment l'utiliser...

    Un bouquin je pense que ça deviendrait vite obsolète, il y a des nouvelles bibliothèques tous les 3 mois.

    Après c'est peut être les techniques utilisées dans Boost en général qui peuvent t'être utile. Et dans ce cas regarde du coté des bouquins de métaprogrammation template. La il y a de la lecture, et c'est plus de l'ordre du paradigme, donc ça s'applique en général. Ca aidera certainement aussi à comprendre comment marchent Boost, et à appréhender l'utilisation de certaines bibliothèques un peu olé-olé, mais au final c'est comme tout, c'est en pratiquant encore et encore que ça rentre.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  14. #2654
    Ne me lance pas sur les templates hein

    J'ai hélas pas le temps là (WE escapade spotted), mais je vais lancer un truc Lundi.

  15. #2655
    Vu le temps c'est un WE à faire des templates justement... rien que pour le plaisir de voir le compilateur pleurer du sang .
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  16. #2656
    Citation Envoyé par rOut Voir le message
    rien que pour le plaisir de pleurer du sang en voyant les erreurs rapportées par le compilateur .
    :fixed:
    Rust fanboy

  17. #2657
    C'est libboost, le truc découpé en trouze miyions de paquets dans Debian ?
    une balle, un imp (Newstuff #491, Edge, Duke it out in Doom, John Romero, DoomeD again)
    Canard zizique : q 4, c, d, c, g, n , t-s, l, d, s, r, t, d, s, c, jv, c, g, b, p, b, m, c, 8 b, a, a-g, b, BOF, BOJV, c, c, c, c, e, e 80, e b, é, e, f, f, f, h r, i, J, j, m-u, m, m s, n, o, p, p-r, p, r, r r, r, r p, s, s d, t, t
    Canard lecture

  18. #2658
    Citation Envoyé par ducon Voir le message
    C'est libboost, le truc découpé en trouze miyions de paquets dans Debian ?
    Oui, et qui changent de nom régulièrement entre les versions pour être sûr de pas s'installer facilement. Mais le gros de la lib est inclus dans les .hpp, les packages relous c'est juste pour les éléments dépendant de l'OS (thread, filesystem...)

    Sinon, un bouquin qui énumérerait les 110 bibliothèques, des lambdas aux octonions en passant par les graphes, ça serait surtout chiant à mourir, sans parler de l'épaisseur et des arbres tronçonnés.

  19. #2659
    Oui, et qui changent de nom régulièrement entre les versions pour être sûr de pas s'installer facilement.
    Cette mauvaise foi ! sudo aptitude install libboost-all-dev, ou bien sudo aptitude install libboost<version>-all-dev.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  20. #2660
    Boost ça doit être le seul cas de figure où il est plus simple de télécharger les sources et de compiler soi même plutôt que d'utiliser aptitude.
    Rust fanboy

  21. #2661
    ... Sans oublier un ln -s de /usr/local/lib/libboost_thread.so vers /usr/lib/libboost_thread-mt.so.
    Ou sinon tu linkes avec libboost_thread-mt, mais alors c'est les arriérés de RHEL/CentOS qui en sont restés à Boost 1.35 qui râlent.

    Parce que tu comprends, une lib de threads qui n'est pas thread-safe, ça fait pas sérieux.

  22. #2662
    Je croyais que boost c'était que des lib statiques ?
    Rust fanboy

  23. #2663
    Citation Envoyé par Tomaka17 Voir le message
    Boost ça doit être le seul cas de figure où il est plus simple de télécharger les sources et de compiler soi même plutôt que d'utiliser aptitude.
    N'importe quoi.

    Citation Envoyé par Møgluglu Voir le message
    ... Sans oublier un ln -s de /usr/local/lib/libboost_thread.so vers /usr/lib/libboost_thread-mt.so.
    Ou sinon tu linkes avec libboost_thread-mt, mais alors c'est les arriérés de RHEL/CentOS qui en sont restés à Boost 1.35 qui râlent.

    Parce que tu comprends, une lib de threads qui n'est pas thread-safe, ça fait pas sérieux.
    C'est déjà là. Lest mecs de RedHat vont se faire voir, ils ont qu'a avoir une distrib bien packagée.
    Code:
    /usr/lib/libboost_thread-mt.a -> libboost_thread.a
    /usr/lib/libboost_thread-mt.so -> libboost_thread.so.1.49.0
    /usr/lib/libboost_thread.so -> libboost_thread.so.1.49.0
    /usr/lib/libboost_thread.so.1.49.0
    Et puis après ton système de build (par exemple CMake) te trouve les bonnes libraries suivant là ou tu compiles.

    Citation Envoyé par Tomaka17 Voir le message
    Je croyais que boost c'était que des lib statiques ?
    Tu as les deux. Sous Linux les libs dynamiques sont souvent préférées, c'est pas aussi chiant à utiliser que sous windows.

    ---------- Post added at 11h45 ---------- Previous post was at 11h41 ----------

    Tiens, pour donner une idée, voilà mon fichier travis-ci pour compiler une lib qui utilise Boost:
    Code:
    language: cpp
    script:
      - mkdir build
      - cd build
      - cmake -DCMAKE_BUILD_TESTS=1 ..
      - make
      - make test
    compiler:
      - clang
      - gcc
    before_install:
      - sudo apt-get update
      - sudo apt-get install libboost1.48-all-dev
    Avec juste ça il compile tout le projet, proprement, à chaque commit et automatiquement, en partant d'une VM de base quasiment vide. Après c'est CMake ou pkg-config qui trouve les libraries à linker, mais c'est du code fourni avec CMake (et autotools, fait sans doute la même chose). Et manuellement, un -lboost_thread -lboost_filesystem ... marcherait aussi bien.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  24. #2664
    Je cherche une lib à la ncurses mais qui fonctionne également sous windows, est-ce que vous connaitriez ça ?
    EDIT : une lib C++ évidemment

    J'ai rien trouvé de probant à part quelques forks de ncurse vieux de 10 ans et plus du tout maintenus.
    J'ai essayé libtcod mais en fait ça ne marche pas du tout avec la console, c'est juste de la SDL. Et en plus c'est pas 100% au point techniquement.

    Ce que je veux en fait c'est que mon programme fonctionne à la fois sous terminal linux et sous windows, après la technologie utilisée je m'en fiche un peu.

    ---------- Post added at 17h26 ---------- Previous post was at 16h56 ----------

    Bon ben je vais me résigner à essayer PDCurses, qui semble être le truc le plus à jour (2008).

    ---------- Post added at 18h20 ---------- Previous post was at 17h26 ----------

    Bon.

    Après avoir testé 4 versions différentes de PDcurses qui crashent toutes au démarrage en me disant "Redirection is not supported." (DAT message d'erreur, woaw putain qu'est ce qu'il est utile).

    Je me suis finalement décidé à build moi-même la lib. Manque de bol VC++ 2012 n'arrive pas à mettre à jour le fichier .mak fourni avec.
    Je me bats donc avec le $PATH pour pouvoir exécuter nmake manuellement.
    Je corrige une erreur dans le fichier make que me signale nmake.exe.
    Je rééssaye la mise à jour au cas où, ça marche toujours pas.

    Je réussis finalement à exécuter le fichier .make, sauf qu'il me dit que le compilo a renvoyé un code d'erreur c00000135 tellement étrange que je ne trouve rien à ce propos sur le net. Impossible de savoir si le compilo crash ou si c'est une erreur de compilation.

    C'est la dernière fois que j'essaye d'utiliser un truc qui date de 2008.
    Dernière modification par Tomaka17 ; 09/12/2012 à 17h09.
    Rust fanboy

  25. #2665
    Heuu... à mon avis n'y pense même pas. La console windows est ce que j'ai pu voir de plus pourri au monde. C'est atrocement lent, c'est laid, le paramétrage est dignes des terminaux des années 60. Et à mon avis niveau programmabilité c'est du même niveau. Déjà que sous Linux c'est assez la merde... Rien que les codes ANSI ne sont pas interprétés de la même manière suivant les terminaux.

    Rien que de logguer des messages dans la console et t'as tout qui se met à tourner à 2 à l'heure...

    T'auras plus vite fait de coder une appli avec une interface style ASCII, dans une fenêtre normale, à la dwarf-fortress. Au moins tu feras ça comme tu voudras. De toute manière je ne vois pas à quoi pourrait servir de faire tourner un truc dans la console windows. Ce n'est pas comme si tu pouvais t'y connecter en SSH et lancer des trucs à distance.

    ---------- Post added at 18h58 ---------- Previous post was at 18h53 ----------

    J'ai regardé viteuf la libtcod en question, et tu dis que c'est en fait une fenêtre SDL qui affiche le truc. Ca ne m'étonne pas du tout et je ne pense pas qu'il y ait une quelconque solution alternative.

    ---------- Post added at 18h59 ---------- Previous post was at 18h58 ----------

    Il faudrait un truc genre gnome-terminal pour windows, mais j'imagine qu'il lui faudrait aussi un genre de bash pour windows pour tourner, et ainsi de suite.
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  26. #2666
    Citation Envoyé par rOut Voir le message
    T'auras plus vite fait de coder une appli avec une interface style ASCII, dans une fenêtre normale, à la dwarf-fortress.
    Justement c'est ce que je cherche.

    Cela dit là j'ai finalement réussi à faire tourner pdcurse après avoir modifié une dizaine de lignes dans le code source.
    PDCurse a aussi une implémentation SDL pour windows, en plus de l'implémentation classique.
    Rust fanboy

  27. #2667
    Bin ta libtcod ne te convient pas alors ?
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  28. #2668
    Non vu que c'est SDL-only et que sous terminal linux ça marchera pas.
    Rust fanboy

  29. #2669
    Je ne comprends pas bien, tu veux que sous linux ça soit le terminal qui se charge de l'affichage, tandis que sous windows l'appli compense les manques ?
    "Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."

  30. #2670
    Je veux un truc comme pour Dwarf Fortress.

    Si tu lances DF sur linux, ça utilise le terminal.
    Si tu lances DF sous win, ça utilise la SDL.

    Je m'en fous de la technologie utilisée, tant que ça marche à la fois sous windows et sur terminal linux

    Cela dit pdcurse a l'air de marcher pas mal là, je pense avoir trouvé ce que je veux
    Rust fanboy

Page 89 sur 334 PremièrePremière ... 3979818283848586878889909192939495969799139189 ... DernièreDernière

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •