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 :

répartition entre tableaux


Sujet :

C++

  1. #21
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par Student_Master Voir le message
    Bref, j'ai essayé d'utiliser ton code mais j'ai un problème de compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    compiler support c++11 ranged for syntax
    .
    Ca, c'est parce que le code utilise une syntaxe qui est apparue avec la norme C++11...
    Si tu peux changer cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int ligne = 0;
    	for( const auto& i : myvector ) // i
    	{
    		int colone = 0;
    		for( auto j : i) // j : i
    		{
    			R[ligne*maxCardinalite+colone] = j; // i
    			colone++;
    		}
    		ligne++;
    	}
    Et de m'afficher le résultat ça serait génial de votre part. Comme ça, je résout mon problème qui m'as pris du temps. Merci à vous tous.
    Mieux encore, si tu peux activer le support de C++11 et faire en sorte que ton compilateur supporte cette syntaxe, cela t'ouvrira l'accès à toutes les fonctionnalités de C++11, et tu ne t'en portera que mieux à la longue

    On peut activer le support de c++11 sous clang et gcc en ajoutant l'option -std=c++11 à la commande de compilation.

    Si tu utilises un EDI, tu dois allez voir du coté des options de compilation pour activer cette possibilité. Par exemple, sous code::blocks, cela se fait au niveau du menu Project ->build options ->dans l'onglet "compiler flags" de l'onglet "compiler settings" (c'est celui qui est affiché par défaut), cocher la case "have g++ to follow the C++11 ISO C++language". Dans qtcreator, cela se fait en rajoutant la ligne QMAKE_CXXFLAGS += -std=c++11 au fichier .pro

    Maintenant, si tu ne peux vraiment pas utiliser C++11 (par exemple parce que ton compilateur est trop ancien), cette syntaxe peut être remplacée par une boucle pour classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /*version "C++11*/
    for( int /* ou auto */i :tableau){
        /* manipuler i qui correspond à chaque élément du tableau, les uns apres les autres */
    }
    /* version "pré C++11"*/
    for(size_t count = 0; count <tableau.size();++count){
        int i = tableau[i];
        /* manipuler i qui correspond à chaque élément du tableau, les uns apres les autres */
    }
    Tu devrais donc presque pouvoir modifier le code par toi même
    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

  2. #22
    Membre confirmé
    Homme Profil pro
    chercheur
    Inscrit en
    Février 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chercheur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 78
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Par exemple, sous code::blocks
    Merci pour ta réponse. Je travaille sous Visual Studio 2010. Est ce qu'il y a un moyen de l'activer ?
    voici le code après modification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int ligne = 0;
    	for(size_t count = 0; count <myvector.size(); ++count) // i
    	{
    		int i = myvector.size();
    		int colone = 0;
    		for( size_t count = 0; count <i; ++count) // j : i
    		{
    			int j=i;
    			R[ligne*maxCardinalite+colone] = j; // i
    			colone++;
    		}
    		ligne++;
    	}
    merci.

  3. #23
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 541
    Par défaut
    VS2010 est sorti en l'an de grâce 2010, la norme C++11 est sortie en 2011, malheureusement.

    VS2010 support pas mal de fonctionnalités qui ont été ajoutées au C++11, mais à cette époque, ce n'étaient que des TR (Technical Report) avec des noms définitifs.

    Je pense qu'il serait nettement plus rentable de migrer vers VS2013, même en Express plutôt que d'activer le support de ces TR ou d'aller à la recherche de VS Update hypothétiques.

    Si vous êtes tanqué sous VS2010, vous savez comment convertir un "ranged for" de C++11 en boucle "for i" du C++tout vieux.

    Si vous pouvez éviter d'utiliser cette horreur de tableau "R" et n'utiliser que "myvector", je dormirai mieux (et vous aurez bien moins d'emmerdes ).

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [ODS RTF] Supprimer titre entre tableaux
    Par fafabzh6 dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 01/10/2010, 10h16
  2. Supprimer ligne vide entre tableaux ODSOUT
    Par pavinho dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 12/06/2009, 09h32
  3. Espace entre tableaux quand transfert emailing sur outlook 2007
    Par speedev dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 31/05/2008, 09h36
  4. Réponses: 1
    Dernier message: 06/01/2008, 23h16
  5. [XHTML/CSS] Problème d'espaces entre tableaux
    Par falcon dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 16/06/2006, 09h19

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