[vox-tech] C-Newbie needs help with a source-code
vox-tech@lists.lugod.org
vox-tech@lists.lugod.org
Thu, 30 Oct 2003 15:06:03 +0100
/////////////////////////////////////////////////////////////////////=0A/* =
Mit diesem Programme m=F6chte ich=0ADezimalzahlen in Zahlen des Bin=E4ren=
=0ASystems umwandeln und diese anschlie=DFend=0Aausgeben */=0A=0A#include <=
stdio.h>=0A=0Amain () {=0A=0A int zahl; ///=0A int bit =3D 0; //=
/ Variablendeklaration der "zahl", des "bit" und der Z=E4hlvariable "i"=0A =
int i =3D 0; ///=0A int a =3D 0;=0A fprintf(stderr,"Bitte geben=
sie eine positive Zahl ein, welche dann in das duale Zahlensystem umgewand=
elt werden soll:\n"); /// Ausgabe=0A scanf("%d", &zahl); ///=
Einlesen auf Adresse &zahl=0A=0A if(zahl > 2147483646){=0A=09printf("Di=
e Zahl ist zu gro=DF!!!\n"); /// aussortieren zu gro=DFer Zahlen=0A }els=
e{=0A=09if(zahl < 0){=0A=09 printf("Ich sagte doch POSITIVE Zahl...\n");=
/// aussortieren negativer Zahlen=0A=09}else{=0A=0A=09 int lange =3D be=
stimme_laenge(zahl); =0A/// Initialisierung und Belegung von laenge mit de=
m R=FCckgabewert der Funktion "bestimme_laenge", der die Variable "zahl" =
=FCbergeben wird=0A=09 int Dec[lange-1]; /// Initialisierung eines Arra=
y mit der L=E4nge lange bzw. bis zur Stelle lange-1=0A=0A=09 printf("Die=
Zahl %d im dualen System ausgedr=FCckt hei=DFt:\n", zahl);=0A=0A=09 whi=
le (zahl > 0){=0A=09=09bit =3D zahl % 2;=0A=09=09zahl =3D (zahl - bit) / 2;=
=0A=09=09Dec[i] =3D bit;=0A=09=09i++;=0A=09 }=0A=0A=09 for(i =3D lang=
e ; i >=3D 0; i--){=0A=09=09printf("%d",Dec[i]);=0A=09=09}=0A=09=0A=09 p=
rintf("\n");=0A=09}=0A }=0A}=0A=0Abestimme_laenge(int zaal){=0A // i=
nt zaal;=0A int laenge =3D 0;=0A while (zaal > 0){=0A=09zaal =3D (zaa=
l - (zaal % 2)) / 2;=0A=09laenge =3D laenge + 1;=0A }=0A printf("Die =
Bin=E4rzahl und somit das ben=F6tigte Array ist %d Stellen lang.\n", laenge=
);=0A return laenge;=0A}=0A=0A//////////////////////////////////////////=
///////////////////////=0A=0Awhat the program is about:=0Ayou may input a d=
ecimal number and the program will convert it into a dual number...=0Aafter=
this it will determine the length of the dual number (bestimme_laenge() )=
=0Athen it should declare an array Dec[] with last position --> lange-1=0A=
=0Athen the positions Dec[i] ... i++ were filled in while while()=0A=0Aafte=
r this it shut put out the positions of the array from Dec[lange] to Dec[0]=
so that the dual number is in the right order...=0A=0Abut there are more n=
umbers in the output the array shoul be long... o.O thats what i don't unde=
rstand...=0A=0Ai hope you can help me with this prob...=0A=0Agreetz=0ADaRkI=
=0A=0Asorry, my english is bad.. i know... but I hope you'll understand wha=
t i mean ;)=0A=0A=0A-- =0A60% Onlinekosten sparen!=0AJetzt Premium Mitglied=
bei freenet.de werden und mit dem =0ATarifnavigator guenstiger surfen.=0Ah=
ttp://www.freenet.de/tipp/premium/tarif/index.html