Tabellen in C# darstellen?

 - (Schule, Programmieren)

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Na wenn du schon in Spalten und Zeilen denken willst, machst du das in etwa so.

for (int zeile = 1; zeile <= anzahlzeilen; zeile++){
   for (int spalte= 1; spalte<= anzahlspalten; spalte++){

   }
}

Wozu benötigst du dafür 2 Schleifen? Eine reicht völlig aus. Den Umbruch übernimmst du, indem du abfragst, ob die der Rest aus der Division mit Zähler (+1, wenn der Zähler bei 0 beginnt) und Spaltenanzahl 0 ergibt.

Nutze für Zeilenumbrüche übrigens die bereits integrierte Methode WriteLine und bei der Ausgabe einen String-Formatter oder noch besser String-Interpolation:

string pre = column < 10 ? "00" : column < 100 ? "0" : string.Empty;
Console.Write($"| {pre}{column} {Convert.ToChar(column + 64)} ");

In diesem Fall würde die Tabelle einen vertikalen linken Rand pro Spalte bekommen. In der String-Variable pre würde ich pro Iteration die Anzahl an Nullen vor der Dezimalzahl berechnen, damit sich die Tabellenspalten nicht verschieben.

Zwei Schleifen waren die Bedingung vom Lehrer, mit einer habe ich es im Unterricht auch geschafft. Sah halt anders aus, als er es sein sollte.

0
@Michi1530

Achso. Na dann halte dich an die anderen hier gegebenen Antworten und stell dem Lehrer außerdem die Variante mit nur einer Schleife vor, falls er sie noch nicht kennt.

0

for (int row = 0; row < 16; row++)

{

    for (int column = 0; column < 16; column++)

    {

        FillTable(row*0x10 + column, row, column);

    }

}

Was möchtest Du wissen?