Tabellen in C# darstellen?

Die Tabelle  - (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++){

   }
}

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

{

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

    {

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

    }

}

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.

Michi1530 
Fragesteller
 07.05.2017, 18:36

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
regex9  07.05.2017, 19:33
@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