Conversion decimal vers binaire

Fermé
xman - 24 févr. 2013 à 13:37
 xman - 27 févr. 2013 à 01:19
Bonjour,


je voudrais savoir mon erreur , aidez moi s'il vous plait et Merci d'avance :)
program conversion10_2;
uses wincrt;

var
x,i:integer;
ch:string;

procedure binaire(i,x:integer;var ch:string);
var
carac:string;
begin
ch:='';
if x<>0 then
begin
str(x mod 2,carac);
ch:=ch+carac;
x:=x div 2;
end;
binaire(i+1,x,ch);
end;

begin
readln(x);
binaire(1,x,ch);
write(ch);
end.
A voir également:

1 réponse

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 25/02/2013 à 08:29
bonjour

program conversion10_2; 

uses wincrt; 

var  x:word; 
     ch:string; 

procedure binaire(x:word;var ch:string); 
var carac:string; 
begin 
  ch:=''; 
  while x<>0 do 
  begin 
    str(x mod 2,carac); 
    ch:=ch+carac; 
    x:=x div 2; 
  end; 
end; 

begin 
  clrscr; 
  readln(x); 
  binaire(x,ch); 
  write(ch); 
end.

RQ. le type word permet d'aller un peu plus loin dans les entiers positifs

bonne journée
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
25 févr. 2013 à 10:15
et si tu veux quelque chose de réciursif

function binaire(x:word):string;
var carac : string;
begin
  if x = 0 then
    binaire := ''
  else
    begin
      str(x mod 2,carac);
      binaire := binaire(x div 2) + carac;
    end;
end;
0
merciiiiii beaucoup
0