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 :

condition bool vector


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair� Avatar de stracoma
    Homme Profil pro
    M�decin
    Inscrit en
    Ao�t 2013
    Messages
    413
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activit� : M�decin

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 413
    Par d�faut condition bool vector
    Bonsoir tout le monde. J'ai besoin de votre conseil. regarder ce 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
    #include <iostream>
    #include <vector>
    using namespace std;
    const int n(6);
    int main()
    {
        vector<int> jadwal(n);
        bool croissant;
        for(int i(0);i<n;i++)
        {
            cout << "taper nombre "<<i << endl;
            cin>>jadwal[i];
        }
        for(int i(0);i<n-1;i++)
        {
            if(jadwal[i]<jadwal[i+1])
            {
                croissant=true;
            }
            if(jadwal[i]>jadwal[i+1])
            {
                croissant=false;
            }
        }
        if(croissant){cout<<"croissant"<<endl;}
        else {cout<<"Decroissant"<<endl;}
        return 0;
    }
    Est ce que dans ce code le bool�en croissant , prend toujours la valeur du dernier test de la boucle for, ind�pendamment des tests avant?
    Merci � vous;

  2. #2
    Membre Expert
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par d�faut
    Non car l'inverse de '<' n'est pas '>' mais '>='. Et alors un if...else ou une ternaire est beaucoup plus appropri�.

  3. #3
    Membre �clair� Avatar de stracoma
    Homme Profil pro
    M�decin
    Inscrit en
    Ao�t 2013
    Messages
    413
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activit� : M�decin

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 413
    Par d�faut
    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
    #include <iostream>
    #include <vector>
    using namespace std;
    const int n(6);
    int main()
    {
        vector<int> jadwal(n);
        bool croissant;
        for(int i(0);i<n;i++)
        {
            cout << "taper nombre "<<i << endl;
            cin>>jadwal[i];
        }
        for(int i(0);i<n-1;i++)
        {
            if(jadwal[i]<jadwal[i+1])
            {
                croissant=true;
            }
            if(jadwal[i]>=jadwal[i+1])
            {
                croissant=false;
            }
        }
        if(croissant){cout<<"croissant"<<endl;}
        else {cout<<"Decroissant"<<endl;}
        return 0;
    }
    Est ce que dans ce code le bool�en croissant , prend toujours la valeur du dernier test de la boucle for, ind�pendamment des tests avant?
    Merci � vous;

  4. #4
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    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 772
    Par d�faut
    Tes 2 tests ne servent � rien ... parce que tu travailles avec un bool�en

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    croissant = (jadwal[i] < jadwal[i+1]);
    Et ensuite, le test de ta boucle POUR est mauvais parce que tu testes que l'ordre des 2 derni�res valeurs
    Il faut s'arr�ter lorsque ce n'est plus croissant (ou plus d�croissant)

  5. #5
    Membre �clair� Avatar de stracoma
    Homme Profil pro
    M�decin
    Inscrit en
    Ao�t 2013
    Messages
    413
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activit� : M�decin

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 413
    Par d�faut
    Le code terminal:
    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
    #include <iostream>
    #include <vector>
    using namespace std;
    const int n(6);
    int main()
    {
        vector<int> jadwal(n);
        bool croissant=true,decroissant=true;
        for(int i(0);i<n;i++)
        {
            cout << "taper nombre"<<i << endl;
            cin>>jadwal[i];
        }
        for(int i(0);i<n-1;i++)
        {
            if(jadwal[i]>jadwal[i+1])
            {
                croissant=false;
     
            }
            if(jadwal[i]<jadwal[i+1])
            {
                decroissant=false;
            }
     
     
        }
        if(croissant && !decroissant){cout<<"croissant"<<endl;}
        if(croissant && decroissant){cout<<"Egales"<<endl;}
        if(!croissant && decroissant){cout<<"Decroissant"<<endl;}
        if(!croissant && !decroissant){cout<<"anarchie"<<endl;}
        return 0;
    }
    Merci de votre aide

  6. #6
    Membre �clair� Avatar de stracoma
    Homme Profil pro
    M�decin
    Inscrit en
    Ao�t 2013
    Messages
    413
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : Maroc

    Informations professionnelles :
    Activit� : M�decin

    Informations forums :
    Inscription : Ao�t 2013
    Messages : 413
    Par d�faut
    avez vous des commentaires sur cette m�thode:

    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
    #include <iostream>
    #include <vector>
    #include <array>
    using namespace std;
    const int N(6);
    int main()
    {
        int R(0);
        vector<int> tablo(N);
        array<int,N-1>note;
        for(int i(0);i<N;i++)
        {
         cout<<"tapez nombre"<<endl;
         cin>>tablo[i];
        }
        for(int i(0);i<N-1;i++)
        {
            if(tablo[i]<tablo[i+1])
            {
                note[i]=1;
            }
            if(tablo[i]>tablo[i+1])
            {
                note[i]=0;
            }
             if(tablo[i]==tablo[i+1])
            {
                note[i]=6;
            }
        }
        for(auto elem:note)
        {
           R+=elem;
        }
        if(R==5) {cout<<"croissant"<<endl;}
        else if(R==0) {cout<<"decroissant"<<endl;}
        else if(R==30){cout<<"Egales"<<endl;}
        else {cout<<"Anarchie"<<endl;}
        return 0;
    }
    Merci � vous

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [FAQ] vector<bool>, sp�cialisation du standard
    Par Aladore dans le forum Contribuez
    R�ponses: 3
    Dernier message: 20/08/2010, 10h50
  2. Obtenir l'adresse du contenu d'un std::vector<bool>
    Par camboui dans le forum SL & STL
    R�ponses: 11
    Dernier message: 23/10/2009, 14h29
  3. Error ode45 / initial condition vector
    Par The_FD dans le forum MATLAB
    R�ponses: 4
    Dernier message: 14/12/2006, 15h56
  4. Vector bool, bidimensionnel
    Par Zacks dans le forum SL & STL
    R�ponses: 7
    Dernier message: 13/06/2006, 17h48
  5. vector<bool> comme argument de fonction
    Par Krishna dans le forum SL & STL
    R�ponses: 11
    Dernier message: 09/09/2004, 08h30

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