C# Programm Zweidimensionales Array?

3 Antworten

Ist jetzt bewusst nicht in c#. Aber meinst du das so?

https://onlinegdb.com/rkX1SdEWv

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
LiLGemmeck 
Fragesteller
 02.08.2020, 19:18

Ja - genau so. Bloß halt als zweidimensionales Array

0
whgoffline  02.08.2020, 19:19
@LiLGemmeck

Nehmen wir mal 3 als Eingabe vom User. Wie soll dein Array dann am ende aussehen?

0
LiLGemmeck 
Fragesteller
 02.08.2020, 20:16
@whgoffline

Wie gesagt- es soll doch 2dimensional sein: Zahl Zeilen x Zahl Spalten. Aber wie gesgat mir reicht erstmal wenn ich weiß, wie ich die erste Spalte erstelle

0
for(int i = 0;i < intEingabe;i++){ /*durch jede Zeile oder Spalte loopen*/
  for(int a = 0;a < intEingabe;a++){ /*durch jede Spalte oder Zeile loopen*/
    eingabeArray[i, a] = eingabeArray[i==0?i:i--, a==0?a:a--]--; /*eingabeArray[Zeile, Spalte] = eingabeArray[Zeile -1, Spalte-1]-1*/
  }
}

Bin mir nicht sicher, kannst du aber mal probieren.

LiLGemmeck 
Fragesteller
 02.08.2020, 20:12

Verstehe NIX davon - ich muss wirklich erstmal nur wissen wie ich die Kontrollstrukturen die auf meinen Bildern abgebildet sind zu einer for-Schleife mache. Also lediglich wie ich die Spalten erstelle.. So ein Gewusel mit den Fragwzeichen etc. habe ich noch nie gesehen..

0
EinBenutzer672  02.08.2020, 20:31

Der Code in länger und besser verstehbar:

for(int i = 0; i < intEingabe; i++){
  for(int a = 0; a < intEingabe; a++){
    int tempi;
    int tempa;

    if(i > 0){
      tempi = i - 1;
    }
    if(a > 0){
      tempa = a - 1;
    }

    eingabeArray[i, a] = eingabeArray[tempi, tempa] - 1;
  }
}
0
EinBenutzer672  02.08.2020, 20:38
@EinBenutzer672

Das mit den Fragezeichen ist quasi ein kurzes if. Z.B.:

int test = 0;
test == 0 ? /*Test ist gleich null*/ : /*Test ist nicht gleich null*/;

In lang-geschrieben währe das:

if(test == 0){
    /*Test ist gleich null*/
}else {
    /*Test ist nicht gleich null*/
}
0
LiLGemmeck 
Fragesteller
 02.08.2020, 22:54
@EinBenutzer672

Danke soweit. Visual Studio sagt aber, dass tempa und tempi nicht zugewiesen sind..

Und zwar an der Stelle

eingabeArray[i, a] = eingabeArray[tempi, tempa] - 1;
0
LiLGemmeck 
Fragesteller
 04.08.2020, 14:06
@EinBenutzer672
eingabeArray[i, a] = eingabeArray[tempi, tempa] - 1;

verursacht nun folgende Fehlermeldung:

System.IndexOutOfRangeException: "Index was outside the bounds of the array."

0