zweidimensionales Arrays c#?

1 Antwort

Innerhalb der inneren Schleife müsstest du mit if überprüfen, welchen Wert row hat. Ist row = 1, befindet sich das Programm in der 2. Zeile (Index ist 0 basiert). Das Gleiche gilt für den Fall row = 4 (5. Zeile). Angepasst sähe der Code so aus:

// gekürzt; wir befinden uns in der inneren Schleife
if(row == 1)
{
    letter[col, row] = "O";
}
else if(row == 4)
{
    letter[col, row] = "Z";
}
else
{
    letter[col, row] = "X";
}

Console.Write(letter[row, col] + "\t");
Woher ich das weiß:Studium / Ausbildung

ssdd22333 
Fragesteller
 29.04.2021, 11:14

Und wenn ich die "O" Diagonal ausgeben will, muss i auch mit if machen oder wie

o x x x
x o x x
x x o x
x x x o
0
RBM1992  29.04.2021, 11:19
@ssdd22333

Genau. Hier würde sich anbieten, in der Bedingung mit dem logischen Und zu arbeiten (nur in der 1. Zeile):

if(row == 0 && col == 0)
{
    letter[row, col] = "O";
}
else
{
    letter[row, col] = "X";
}

Für alle Zeilen wäre es natürlich sinnvoller, zu prüfen, ob row und col denselben Wert haben:

if(row == col)
{
    letter[row, col] = "O";
}
else
{
    letter[row, col] = "X";
}
0