conversion : les nombres naturels en binaire et creation d'un suite de nombres
C’est un exercice dans le cadre d’apprentissage du c++
voici le problème à résoudre, j'ai trouver la solution , ne vous inquiétez pas ^^ mais je vais vous expliquer ce qui ne vas pas après :?
https://images.guiks.net/img/ici.JPG
et voici le code que j'ai écrit,
- 1 )je voulais savoir si vous pouvez m'aider à simplifier ce code,
- 2 ) trouver un moyen de mettre un return dans la fonction main () et supprimer la premier return.
- 3 ) une fois compiler j'ai l'impression que le pc lag :( bizar,,,
Merci d'avance :)
j'ai peut être un peut compliquer la chose mais voila , on peut pas tout savoir !
Code:
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 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#include <iostream>
using namespace std;
int binaire(int valeur)
{
int reste,nombre_un=0,nombre_zero=0,resulta_soustaction;
if (valeur==0)
resulta_soustaction=0;
else
{
while (valeur>0)
{
reste=valeur%2;
valeur/=2;
if (reste==1)
nombre_un++;
else
nombre_zero++;
}
resulta_soustaction=nombre_un-nombre_zero;
if (resulta_soustaction==0)
resulta_soustaction=3;
else if (resulta_soustaction<0)
resulta_soustaction=0;
else if (resulta_soustaction>0)
resulta_soustaction=1;
}
return resulta_soustaction;
}
int main()
{
int entree,r,un=0,zero=0,signe=0,save,suite_de_nombre=0,q,b=0;
cout<<"Nombre d'elements de la suite?";
cin>>entree;
for (int i=0; b<entree ;i++)
{
if (signe!=3)
save=signe;
signe= binaire (i);
if (save==signe || save==3 || signe==3)
suite_de_nombre++;
else
{
cout<<suite_de_nombre<<" ";
b++;
suite_de_nombre=1;
}
}
cout<<endl;
} |