C# Array Index Sortierung fehlerhaft bei Eingabe des Wertes 0

TheInterceptor schrieb:
* Überflüssiges Zitat editiert! *

Hausaufgaben-Forum ist ziemlich Arrogant, ich bin neuling,und will mir Wissen aneignen,und suche Rat bei Erfahrenen Menschen.
Den Zeitpunkt, in einen Wissenstopf übers Programmieren zu fallen habe ich ja dann wohl verpasst,
bzw. bin ich vllt nicht nur Theorie Junkie wie Sie Herr Interceptor der sich mit Büchern alleine zufriedengibt.
Ich brauche Praxis dazu und hole mir eben Unterstürtzung falls ich etwas nicht weiß oder verstehe, was bestimmt nicht all zu verwerflich sein sollte, da bekanntlich noch kein Meister vom Himmel gefallen ist.

Array.Sort in den Raum zu werfen mit dem ich Perösnlich derweil noch nichts anfangen kann ist dabei noch das geringste Problem.

Einen schönen Tag wünsch ich noch.

-Closed-
 
Zuletzt bearbeitet von einem Moderator:
Die Problemstellung klingt sehr nach Hausaufgabe.
Wenn du mit einem einzelnen Methodenaufruf nichts anfangen kannst, dann solltest du hier eigentlich nicht zu den 20 Zeilen kommen (mit Methodenaufrufen), die du schon hast.
Da deine Eigeninitiative gleich null ist ("Array.Sort in den Raum zu werfen mit dem ich Perösnlich derweil noch nichts anfangen kann" -> Du kannst nicht googlen), sehe ich hier schwarz.

Ebenfalls noch einen schönen Tag.
 
Wenn Sie es genau Deklariert wissen wollen ist es mein persönliches Bestreben gewesen diese Aufgabe zu lösen, die Aufgabenstellung kommt aus einem Buch.
Gewollt war ein Einsortier-Algorythmus diesen zweck erfüllt das Programm,und in dem Beispiel wird davon ausgegangen das die 0 eben nicht als gültiger Zahlen-Wert gesehen wird.
Meine Intention während der Aufgabe ging aber dann dahin, dieses Programm so weit um zu funktionieren um einen Sortier-Algorythmus daraus zu machen mit mir bereits bekannten Methoden,was wohl eben nicht reicht.
Und wie ein vorredner bereits erwähnt hatte manchmal muss man nur geringfügig etwas ändern als groß um zu bauen.

Und da ein Kopf bekanntlich genug Leistet dachte ich mir ich Frage einfach nach,denn mehr Köpfe mehr Ideen evtl schnellere und einfachere Lösung. Ich wollte niemanden mit Trivialitäten nerven.
Sie glauben ja wohl nicht ernsthaft das ich nicht schon diverses Gegoogelt habe bevor ich Gepostet habe, um mir selbst die Lösung zusammen zu schustern.
Ich hätte es auch einfach nur mittels Copy und Paste aus Google erledigen können(was Praktisch ist was die Zeit anbelangt aber nicht,um mein Verständniss dafür zu erweitern).

Die Lösung dieses Problems wäre wohl die Einbindung eines Bubble-Sort-Algorythmus in den bereits vorhandenen Quell-Codes den ich derweil noch weniger verstehe aber seis drum.Das bekomme ich möglicherweise in wenigen Wochen dann selber hin, hacke dieses Programm eben als Einsortier-Algorythmus ab und setz mich weiter mit der Theorie auseinander.

Und wenn Sie sonst nur dicke Luft und Frust verbreiten wollen wäre es ihnen Frei gestanden ihren Senf für sich zu behalten und diesen Foreneintrag zu meiden.

Dennoch schönen Abend
 
fhtagn schrieb:
* Überflüssiges Zitat editiert! *

Das wird wohl so eine spielere mit "null" in C# sein, zu dem Kapitel komme ich aber auch erst noch,werd es mir aber mal als Option offenhalten und Notieren.
Danke
 
Zuletzt bearbeitet von einem Moderator:
Code:
class Program
{
	static void Main(string[] args)
	{
		var list = new List<int?>();
		var rnd = new Random();

		list.Add(null);
		list.Add(null);
		for (var i = 0; i < 6; i++)
		{
			list.Add(rnd.Next(-10, 10));
		}

		list.Sort(new MyNullableIntComparer());
		Console.WriteLine(string.Join(" ", list.Select(item => { return item.HasValue ? item.ToString() : "null"; })));
		Console.ReadKey();
	}
}

class MyNullableIntComparer : IComparer<int?>
{
	public int Compare(int? x, int? y)
	{
		if (!x.HasValue || !y.HasValue) return int.MinValue;
		return Nullable.Compare(x, y);
	}
}

Nutz einfach die Sort(IComparer<T> comparer) Funktion mit einem Custom-Comparer, anstatt eine Sortierfunktion zu implementieren.

EDIT:
Wenn's dir um die Sortierfunktion geht, implementiere z.B. die Bubblesort Methode in C#. Sollte für jeden Anfänger machbar sein. Der Pseudocode ist ja schon fast C# :D
Code:
bubbleSort(Array A)
  for (n=A.size; n>1; n=n-1){
    for (i=0; i<n-1; i=i+1){
      if (A[i] > A[i+1]){
        A.swap(i, i+1)
      } // ende if
    } // ende innere for-Schleife
  } // ende äußere for-Schleife
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben