l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
December 2: Social gathering
Next Installfest:
TBD
Latest News:
Nov. 18: Club officer elections
Page last updated:
2003 Oct 30 21:31

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] C-Newbie needs help with a source-code
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] C-Newbie needs help with a source-code



/////////////////////////////////////////////////////////////////////
/* Mit diesem Programme möchte ich
Dezimalzahlen in Zahlen des Binären
Systems umwandeln und diese anschließend
ausgeben */

#include <stdio.h>

main () {

    int zahl;     ///
    int bit = 0;  /// Variablendeklaration der "zahl", des "bit" und der Zählvariable "i"
    int i = 0;    ///
    int a = 0;
    fprintf(stderr,"Bitte geben sie eine positive Zahl ein, welche dann in das duale Zahlensystem umgewandelt werden soll:\n");             /// Ausgabe
    scanf("%d", &zahl); /// Einlesen auf Adresse &zahl

    if(zahl > 2147483646){
	printf("Die Zahl ist zu groß!!!\n"); /// aussortieren zu großer Zahlen
    }else{
	if(zahl < 0){
	    printf("Ich sagte doch POSITIVE Zahl...\n"); /// aussortieren negativer Zahlen
	}else{

	    int lange = bestimme_laenge(zahl);  
/// Initialisierung und Belegung von laenge mit dem Rückgabewert der Funktion "bestimme_laenge", der die Variable "zahl" übergeben wird
	    int Dec[lange-1];  /// Initialisierung eines Array mit der Länge lange bzw. bis zur Stelle lange-1

	    printf("Die Zahl %d im dualen System ausgedrückt heißt:\n", zahl);

	    while (zahl > 0){
		bit = zahl % 2;
		zahl = (zahl - bit) / 2;
		Dec[i] = bit;
		i++;
	    }

	    for(i = lange ; i >= 0; i--){
		printf("%d",Dec[i]);
		}
	
	    printf("\n");
	}
    }
}

bestimme_laenge(int zaal){
    //  int zaal;
    int laenge = 0;
    while (zaal > 0){
	zaal = (zaal - (zaal % 2)) / 2;
	laenge = laenge + 1;
    }
    printf("Die Binärzahl und somit das benötigte Array ist %d Stellen lang.\n", laenge);
    return laenge;
}

/////////////////////////////////////////////////////////////////

what the program is about:
you may input a decimal number and the program will convert it into a dual number...
after this it will determine the length of the dual number (bestimme_laenge() )
then it should declare an array Dec[] with last position --> lange-1

then the positions Dec[i] ... i++ were filled in while while()

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

but there are more numbers in the output the array shoul be long... o.O thats what i don't understand...

i hope you can help me with this prob...

greetz
DaRkI

sorry, my english is bad.. i know... but I hope you'll understand what i mean ;)


-- 
60% Onlinekosten sparen!
Jetzt Premium Mitglied bei freenet.de werden und mit dem 
Tarifnavigator guenstiger surfen.
http://www.freenet.de/tipp/premium/tarif/index.html
_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Sunset Systems
Who graciously hosts our website & mailing lists!