Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

CPP: Utilisation de ‘bitset’ avec ‘enum’


{filelink=15009}

 
#include <bitset>
#include <iostream>
using namespace std;
 
int main()
{
    /* Créer un enumérateur dont
     * chaque bit répresente une couleur
     */
    enum Color { rouge, vert, bleu, jaune, blanc, noire,
                 numColeurs };
 
    // Créer un 'bitset' pour tous les pairs bits/couleurs
    bitset<numColeurs> couleurUtilisee;
 
    // Attribuer les 'bits' pour 3 couleurs
    couleurUtilisee.set(rouge);
    couleurUtilisee.set(bleu);
	couleurUtilisee.set(noire);
 
    // Afficher des information sur l'utilisation des bits/couleurs
    cout << "Bits pour les couleurs attribuées:   " << couleurUtilisee
         << endl;
    cout << "Nombre des couleurs attibuées:   " << couleurUtilisee.count()
         << endl;
    cout << "bits pour les couleurs non utilisées: " << ~couleurUtilisee
         << endl;
 
    // Parcourir le pair bits/couleurs
    if (couleurUtilisee.any())
	{
 
        for (int c = 0; c < numColeurs; ++c)
		{
            // Le couleurs utilisées
            if (couleurUtilisee[(Color)c])
			{
                cout <<"Utiliséé: " <<couleurUtilisee[c]
				<< endl;
            }
			else
			{
             cout <<"Non utilisée: " <<couleurUtilisee[c]
			 << endl;
			}
        }
    }
}

No comments yet.

Leave a Comment