CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Les pros de C++ et algorithmique

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 16:51:21

Donc c'est à toi d'ecrire les fonctions que tu cites si j'ai bien compris? (val et str)

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 16:54:50

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 ...

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 16:59:11

" 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.

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 18:19:01

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.

:(

godrik
godrik
Niveau 30
01 décembre 2011 à 18:27:57

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/

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 18:38:43

" 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?

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 21:03:21

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 :(

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 21:07:34

Tiens, le corrigé dit de faire ce à quoi j'avais pensé.

Sinon qu'est-ce que tu ne comprends pas exactement?

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 21:22:55

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 ... :honte:

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 21:28:41

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.

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 21:30:44

Ah, en effet c'est plus claire, mais je commence à comprendre petit à petit ... :)

merci pour div et mod :)

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 21:48:02

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 :
------------------------------------------------

  1. include <cstdlib>
  2. include <iostream>
  1. include <string>

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;
}

godrik
godrik
Niveau 30
01 décembre 2011 à 21:52:32

"decimal==decimal/2;"

== est un operateur de comparaison.

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 22:08:10

" 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ù?

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 22:10:39

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 ...

Rikkuman2
Rikkuman2
Niveau 9
01 décembre 2011 à 22:12:23

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

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 22:16:02

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.

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 22:25:24

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.

Pocolo
Pocolo
Niveau 10
01 décembre 2011 à 22:26:38

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.

Rikkuman2
Rikkuman2
Niveau 9
02 décembre 2011 à 12:04:23

Pocolo :d) 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

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment