C# Programm Zweidimensionales Array?

Moin,

sitze schon ne Weile an einem Programm, das einen Integer (nennen wir ihn Zahl ) vom Benutzer einlesen soll. Ausgehend von Zahl soll dann wie folgt ein zweidimensionales Array erstellt werden:

  • das Array ist Zahl x Zahl groß
  • das Element oben links im Array (also [0, 0] ) hat den Wert Zahl x Zahl
  • jedes weitere Element rechts daneben hat jeweils -1 weniger
  • anders beschrieben: es wird von links nach rechts abwärts gezählt beginnend vom Wert Zahl x Zahl

Da ich mir den Lösungsweg Stück für Stück erarbeiten möchte, könnt Ihr auf die komplette Lösung/ bzw. Erklärung verzichten.

Ich weiß, dass man Zeilen und Spalten bei dieser Aufgabe beide mit for-Schleifen erstellen kann, doch der Einfachheit halber möchte ich erst verstehen, wie ich mit den Spalten vorgehen muss.

Ohne for-Schleife bekomme ich die erste Spalte problemlos erstellt und das sieht dann so aus:

oder:

Console.WriteLine("Geben Sie eine Zahl ein, bei der nach dem"+ "Schema Zahl*Zahl ein Array erstellet werden soll:");
            string eingabe = Console.ReadLine();
            int intEingabe = Convert.ToInt32(eingabe);
            Console.WriteLine("\n");
            int[,] eingabeArray = new int[intEingabe,intEingabe];
            int eingabeArrayLänge = intEingabe * intEingabe;

            //Erste Spalte:
            eingabeArray[0, 0] = eingabeArrayLänge;
            eingabeArray[1, 0] = eingabeArray[0, 0] - 1;
            eingabeArray[2, 0] = eingabeArray[1, 0] - 1;
            Console.WriteLine(eingabeArray[0, 0] + "\n" + eingabeArray[1, 0] + "\n" + eingabeArray[2, 0]);

Bis dahin kein Problem doch wie schaffe ich es nun, dass ich die erste Spalte nicht "von Hand" ausfüllen muss? Das muss doch irgendwie mit ner for-Schleife zu machen sein?

Doch ich komme da nicht weiter - egal wie ich es drehe und wende.. Wäre nett wenn jemand mir die passende for-Schleife zeigen könnte.

LG

Bild zu Frage
Computer, Schule, Programm, programmieren, C Sharp, Informatik, Programmiersprache, For-Schleife, Ausbildung und Studium
LCD4884 Arduino Laufschrift?

Habe mir letztens ein neues LCD4884 Display zugelegt. Nun steh ich aber vor folgenden "Denkfehler", und zwar wird in dem Beispiel bei Einfache Laufschrift auf LCD4884 bei http://www.arduinospielwiese.de/ das so beschrieben (kleiner Ausschnitt) :

void loop() { lcd.LCD_write_string( 78, 3, "M", MENU_NORMAL); delay(200); lcd.LCD_write_string( 70, 3, "MA", MENU_NORMAL); delay(200); lcd.LCD_write_string( 65, 3, "MAR", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 60, 3, "MART", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 53, 3, "MARTI", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 48, 3, "MARTIN", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 42, 3, "MARTIN ", MENU_NORMAL ); delay(200);
lcd.LCD_write_string( 35, 3, "MARTIN K", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 30, 3, "MARTIN KU", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 23, 3, "MARTIN KUP", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 18, 3, "MARTIN KUPK", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 12, 3, "MARTIN KUPKA", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 12, 3, " ", MENU_NORMAL ); lcd.LCD_write_string( 8, 3, "MARTIN KUPKA", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 8, 3, " ", MENU_NORMAL ); lcd.LCD_write_string( 3, 3, "MARTIN KUPKA", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 3, 3, " ", MENU_NORMAL ); lcd.LCD_write_string( 0, 3, "MARTIN KUPKA", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 0, 3, " ", MENU_NORMAL ); lcd.LCD_write_string( 0, 3, "ARTIN KUPKA", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 0, 3, " ", MENU_NORMAL ); lcd.LCD_write_string( 0, 3, "RTIN KUPKA", MENU_NORMAL ); delay(200); lcd.LCD_write_string( 0, 3, " ", MENU_NORMAL ); lcd.LCD_write_string( 0, 3, "TIN KUPKA", MENU_NORMAL ); delay(200);

etc..

Ich jedoch habe das mit einer for-Schleife gelöst(bei mir dient Hallo als Laufschrift): "Es stehen Spalte 0...83 und Zeile 0...5 zur Textpositionierung zur Verfügung."

void loop() {

for(i = 0 ;i < 54; i++) { lcd.LCD_write_string(i, 1, "HALLO", MENU_NORMAL ); delay(100); lcd.LCD_write_string(i, 1, " ", MENU_NORMAL );

}

for(i = 54 ;i > 0; i--) { lcd.LCD_write_string(i, 1, "HALLO", MENU_NORMAL ); delay(100); lcd.LCD_write_string(i, 1, " ", MENU_NORMAL );

}

}

Alles hat wunderbar geklappt, aber ich verstehe es nicht warum es 54 hier i = 0 ;i < 54; i++ heißen muss.

PS: Habe es durch Probieren geschafft auf diese Nummer zu kommen

Freue mich auf Antworten!

programmieren, Arduino, Aufschrift, For-Schleife

Meistgelesene Fragen zum Thema For-Schleife