Donc c'est à toi d'ecrire les fonctions que tu cites si j'ai bien compris? (val et str)
Oui c'est bien à moi de les fairs, mais sans exemple je me vois mal le faire, étant donné que même si il y a une correction, si je sais pas comment çà marche, pour un autre exercice je serais pas le faire ...
" Oui c'est bien à moi de les fairs "
Ok, ce n'était pas clair dans ton premier message vu que tu avais utilisé le mot "utiliser".
Sinon il faut que tu utilises des String ou des const char* ou on te laisse le choix? (je dirais String vu que tu parles de C++)
Mais autrement est-ce que tu as bien compris que les chaines de caractères sont simplement plusieurs caractères alignés de façon contiguë en mémoire (comme un tableau quoi) et que chaque caractère est stocké sous la forme d'un nombre (cela va de soit vu qu'on ne peut stocker que des 1 et des 0 en mémoire) qui correspond à sa valeur en ASCII?
Si tu as compris ça déjà tu devrais pouvoir faire quelque chose.
Ce que je vais faire, je vais finir d'étudier sur le site du zero, le cours C++ | les fonctions + les tableaux et en C, les chaine de caractére, la je balise car avec le cned un suivi trés pauvre.
![]()
si tu es dans une demarche d'apprentissage a long terme, je te conseille plutot les cours de developpez.com que ceux du site du zero.
celui la pour le C est bien http://c.developpez.com/cours/poly-c/
ou encore le poly de B. Cassagne http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C.html
Pour le C++ http://cpp.developpez.com/cours/cpp/
" la je balise car avec le cned un suivi trés pauvre. "
Ah tu es avec le CNED? Tu prépares quel genre de diplôme? un BTS?
Mais il y a un truc que je n'ai pas compris, apparemment c'est toi qui a choisi de coder ces trucs en C++ (si j'ai bien compris une fois de plus, car tes messages sont assez flous) mais eux ils te demandent de le faire en quel langage? Ou ils ne te demandent pas de le faire du tout?
Je prepare un BTS informatique BTS SIO, première année.
Voici en fait ,l'exercice, et le corriger.
http://s3.noelshack.com/uupload/15346632653253_dev9.png
http://s3.noelshack.com/u/upload/8272990528209_exo9.png
mais il me donne pas le code en C++, car en C++ j'ai plus de compréhension du code pour ensuite comprendre en algo.
mais je ne vois aucun exemple sur internet avec des calcules binaire.
Je m'inquette car il me demande un devoir noté sur 20 avec comme conversion , decimal hexadecimal, donc si j'ai déjà pas compris ce simple exercice, pour la suite je suis dans le caca le plus noir de toute la galaxy
ps : je veux pas qu'on me donne le travail à faire, je veux le faire moi même mais j'aimerais trouver des explications ![]()
Tiens, le corrigé dit de faire ce à quoi j'avais pensé.
Sinon qu'est-ce que tu ne comprends pas exactement?
En fait, dans le livre pour utiliser str et val je dois utiliser mod + div
je le met en # include ?
Ce que je veux, c'est faire l'exercice en C++ pour ensuite modifier des variables jouer avec le code et avoir une meilleure compréhension du programme, car entre nous, entre les cours qu'on me donne et les cours des autres site, que vous me donnez, j'ai l'impression qu'avec le cned, c'est illogique ... on nous donne des cours incomplet ... ![]()
mod et div ne sont que des opérateurs, tu n' pas besoin de les inclure où que ce soit, en C++ c'est % pour mod et / pour la division, à noter que si tu utilises l'opérateur de division sur un entier (un int en C++), il te donnera un quotient entier, c'est ce que tu veux ici.
Ah, en effet c'est plus claire, mais je commence à comprendre petit à petit ...
merci pour div et mod ![]()
Alors voilà j'ai bien compris comment çà devrait fonctionner, j'ai fais le code en C++ mais y'a une erreur, elle doit pas être énorme
le problémes vient de la chaine je pense :
------------------------------------------------
using namespace std;
int main(int argc, char *argv[])
{
int decimal(0);
string binaire;
cout<<"entre un decimal"<<endl;
cin>>decimal;
while(decimal>0)
{
binaire==str(decimal%2)+binaire;
decimal==decimal/2;
}
cout<<binaire<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
"decimal==decimal/2;"
== est un operateur de comparaison.
" binaire==str(decimal%2)+binaire; "
Cette ligne me parait étrange aussi (même sans le ==), déjà str c'est quoi? c'est déclaré où?
Ben justement c'est ce que je comprends pas depuis le début
val!: permet de convertir une chaîne en numérique. Cette conversion est indispensable
s'il est nécessaire de faire des calculs avec le nombre obtenu.
str!: permet de convertir un nombre en chaîne. Comme nous l'avons vu précédemment,
cette conversion est utile lorsque le nombre doit être
mais d'aprés ma faible expérience en programmation, il devrais y avoir un include ...
y'a la définition compléte sur ce screen, mais entre nous, sois je sais lire et je suis stupide, sois il oublie des morceaux de texte ...
http://s3.noelshack.com/upload/2122868421927_basedelaprogrammation.png
on nous explique pas comment l'introduire, sur internet je trouve rien non plus sur STR
Non mais en fait l'exercice demande juste un algorithme dans un pseudo langage. Comme l'exercice ne fait pas référence à un quelconque langage existant il te donne des fonctions "imaginaires" (en quelque sorte) dont il te donne une bref description et il veut que tu écrives l'algorithme avec ça, mais ces fonctions n'existent pas dans les vrais langages (ou peut-être que si dans certains, va savoir) à moins que tu ne les écrivent toi même, mais autrement il me semble qu'il y a des équivalents dans la bibliothèque standard du C, c'est juste que les fonctions ne portent pas le même nom.
Mais autrement j'ai bien compris que tu veux convertir le reste de la division en caractère, tu peux faire ça très simplement avec une petite astuce :
'0' + reste;
Tu peux utiliser les char comme des int, les chiffres commencent à 48 en ascii (48 = caractère '0') et vont crescendo (49 = caractère '1', 50 = '2', etc...) donc en faisant '0' + le chiffre que tu veux obtenir tu as bien le caractère correspondant en ascii.
Autre remarque, il faut ranger les chiffres dans l'ordre inverse, donc tu dois à chaque fois ajouter le reste au début de la chaine et non pas à la fin comme tu essayes de le faire ici, tu peux te servir de la méthode insert de la classe string pour cela.
Pocolo
merci, je vais voir du coté du C j'ai vue des fonctions chaine je vais suivre aussi les cours sur les fonctions ainsi que vos sites présenté !!! merci