Csharp Eingabe von mehreren Zahlen in Array speichern?
Guten Tag ich habe die Aufgabe bekommen einen absteigenden Bubble Sort algorithmus zu schreiben was ich auch gemacht habe jetzt soll ich es jedoch so machen das der benutzer 10 ziffern eingeben soll diese in einem array gespeichert werden sollen damit ich mit der aufgabe weiter machen kann jedoch weiß ich nicht wie ich es machen soll das 10 ziffern vom benutzer eingegeben in einem Array gespeichert werden kann.
2 Antworten
Wenn es Console.WriteLine gibt, gibt es doch bestimmt auch Console.ReadLine.
Das Array zu übergeben, ergibt dann wenig Sinn. Du solltest es in Main deklarieren und über die Eingabe eine Schleife legen.
Du liest auch nicht das Array ein, sondern jede Zahl einzeln. Du brauchst zudem anscheinend eine Konvertierungsfunktion von string nach int.
Console.WriteLine("Geben Sie 10 Zahlen ein.");
for(i=0;i<10;i++)
a[i] = StrToInt(Console.ReadLine(...));
Das mal als ausbaufähiger Ansatz.
1. Bitte Variablennamen so benennen das man weiss wofür die variable steht. Am beste gleich am Anfang angewöhnen. Ausnahme sind die variablen in for schleifen. Da ist i j k l usw. (In der Reihenfolge) üblich.
1. Dein Array a ist das aus der Main Methode. Also die zahlen die beim Start der Anwendung mit übergeben werden.
Nutze console readln.
Der dürfte dir n String zurück geben.
Ggf. Kannste auch die Scanner Klasse nutzen die dir ints rausgeben kann. (Im Netz nach googlen und lesen wie man die benutzt)
Den String vom readln kannste mit split(" ")
In ein Array umwandeln. Dann haste die zahlen schonmal als string array
Dann durchläufste das String Array und parat mit Int32.parse oder Convert.toInt32 deine Strings auf Ints.
Und die schreibste dann in ein int Array welches du dann als Quelle für deinen bubblesort benutzt.
Fertig.
Oder suboptimierers Ansatz. Ist beides möglich. Ich bin jetzt davon ausgegangen daß man die Zahlen in Form einer Zeile eingibt. Also 1 2 3 usw.
genau jedoch gibt er mir ne fehlermeldung das string nicht in int[] konvertiert werden kann