For Schleifen Problem + Ascii Tabelle

Dani012

Grünschnabel
Hey :)

ich hab hier ein Problem bei dem ich nicht weiter komme. Wäre super wenn mir jemand Tipps geben könnte.

Ziel:
Es soll eine Ascii Tabelle nach Hex ausgegeben werden.

Mein Problem:
1: ich habe den Rahmen (Die Buchstaben) über sehr viele If Anweisungen realisiert.
Das ist natürlich unschön und sollte über eine for Schleife gelöst werden.
Leider hab ich das nicht hinbekommen.

2: Wie gebe ich konkret die Ascii Werte nach Hexadezimal aus?
Ich dachte eigentlich in etwa so:
int i;
printf("%c", i);

Aber so kommen andere Werte als nach Hexadezimal.
C:
#include <stdio.h>
#include <stdlib.h>

int main()
{
     int i;
     int Spalte = 0;
     int Zeile = 0;


     printf("\tASCII-Tabelle\n\n\n\n");

     for(Zeile = 1; Zeile<=14; Zeile++)

        {
            if(Zeile<10)
               printf("%d", Zeile);
            if(Zeile==9)
               printf("\nA");
            if(Zeile==10)
               printf("B");
            if(Zeile==11)
               printf("C");
            if(Zeile==12)
               printf("D");
            if(Zeile==13)
               printf("E");
            if(Zeile==14)
               printf("F");


                for(Spalte=1; Spalte<=15; Spalte++)
                {
                if(Zeile==1)
                    if(Spalte<10)
                       printf("%3d", Spalte);

                    if(Spalte==10 && Zeile==1)
                        printf(" A");
                    if(Spalte==11 && Zeile==1)
                        printf(" B");
                    if(Spalte==12 && Zeile==1)
                        printf(" C");
                    if(Spalte==13 && Zeile==1)
                        printf(" D");
                    if(Spalte==14 && Zeile==1)
                        printf(" E");
                    if(Spalte==15 && Zeile==1)
                        printf(" F");


                }



                printf("\n");
        }
    getch();
    return 0;
}

vielen lieben Dank falls mir jemand helfen könnte :(
ich weiß für euch ist es ein kleines, aber ich sitze wirklich schon ein paar stunden dran
 

sheel

I love Asm
Hi

wie genau soll die Ausgabe am Ende dann ausschauen?
So (nur größer), oder...?
Code:
     0     1      2
0    00    01     02
1    10    11     12
2    20    21     22
 

HonniCilest

Erfahrenes Mitglied
Du kannst ab 10 für A-F dann die char-int Konvertierung nutzen.
'A' hat den Wert 65. Also kannst du ab Spalte 10 schreiben:

C:
char c = spalte + 55;
printf("%c", c);