WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   C - Frage zu Forschleife in Kombination mit Hexadezimalsystem (http://www.wcm.at/forum/showthread.php?t=175380)

coolbininet 04.10.2005 19:18

C - Frage zu Forschleife in Kombination mit Hexadezimalsystem
 
Hallo Leute!

Brauche eine FOR-Schleife, die mir bei 0 anfängt zu zählen und dann bei 10 a hinschreibt, bei 11 b hinschreibt usw. bis 15 und dann f. Kann ich da was mit dem ASCII-Code machen oder nicht? Muss ich dass in zwei Forschleifen zerteilen

Sollte so ähnlich aussehen!

void main (){
int i;
for (i=0; i<=9; i++){
printf("%i");
}
}

Wie bekomme ich jetzt aber a bis f auf das i drauf:

Ausagabe: Ergebnis 0,1,2,3 ... a, b, c, d, e, f.

Grüsse Coolbininet

Dumdideldum 04.10.2005 19:32

Ich würde das mit einem Char Array machen - darüberhinaus, dein obig geposteter Code - funkt der überhaupt ?

Printf müßte ja eher:
printf("%d",i) heißen.
(zumindest mit gcc).

tuxlux 04.10.2005 19:34

in der for Schleife z.B.: i<17

printf ("dec: %d Hex: %x",i,i);
oder
printf ("dec: %d Hex: %X",i,i);

je nachdem ob man Klein oder Grossbuchstaben haben will .....

coolbininet 04.10.2005 20:11

Frage anders formuliert!
 
Hallo nochmal!

Denke ich bin am Ziel vorbeigeschossen, danke aber für die netten Postings. Möchte folgendes in einer verschachtelten FOR-Schleife:

Code:


#include <stdio.h>
#include <ctype.h>

int main (int argc, char *argv[])
{
        int i,j,k=0;
        char ch, chzwi=' ';
       
        for (i=0;i<=9;i++)
        {
                printf ("%d", i);       
        }
        for (ch='a'; ch<='f'; ch++){
                printf ("%c", ch);
        }
        printf ("\nBitte eine beliebige Taste druecken!");
        getchar ();
        return 0;

}

Habe es wie folgt probiert, da stimmt aber einiges nicht warum?

Code:

#include <stdio.h>
#include <ctype.h>

int main (int argc, char *argv[])
{
        int i,j,k=0;
        char ch, chzwi=' ';
       
        for (i=0;i<=9;i++)
        {
                printf ("%d", i);       
                for (ch='a'; ch<='f'; ch++)
                {
                        chzwi=chzwi+ch;
                }
                        printf ("%c", chzwi);
        }
       
        printf ("\nBitte eine beliebige Taste druecken!");
        getchar ();
        return 0;

}

Es muß unbedingt verschachtelt sein. Geht das oder nicht?

Ergebnis wie in Skript 1: 0123456789abcdef

Bitte um Rückmeldung! Danke!

Grüsse Coolbininet

tuxlux 04.10.2005 22:52

void main (){
int i;
for (i=0; i<17; i++){
printf("%x",i);
}
}

Rider99 07.10.2005 11:32

So ist es richtig:

for (int i=0; i<0x0F; i++) printf("%x",i);

9 = 9
0x0F = F hexadezimal = 15 Dezimal

Ulraich 07.10.2005 12:21

also wenn ich das richtig verstanden hab willst du als ausgabe des habn: "0123456789abcdef" und dies soll in einer for schleife verschachtelt sein oder?!

int i = 0;
for (ch='a'; ch<='f'; ch++)
{
while (i <=9)
{
printf ("%d", i);
i++;
}
printf ("%c", ch);
}
sollte so funktionieren wenn ich mich jetzt nicht irre...

aber wenn ich so weiter überlege würd mir ne andere möglichkeit auch noch einfalln...


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag