Hallo.
Meine Aufgabe ist es 2 Datenstrukturen zu entwerfen die gerichtete Graphen repräsentieren. Dazu habe bisher 2 Möglichkeiten gefunden, einmal mithilfe einer Matrix (also ein 2-dim. boolesches oder int-Array) oder mithilfe von zeigerverketteten Listen, wobei jeder Knoten des Graphen eine Liste darstellt die alle Knoten enthält, auf die ein Pfeil des jeweiligen Knoten zeigt. Die Listen (also die Knoten) werden dann alle in einem Array gespeichert.
Nun meine Frage: gibt es vielleicht noch weitere, vielleicht einfacher umzusetzendere Möglichkeiten um die Aufgabe zu lösen ?
Mit der verketteten Liste bin ich nicht so zufrieden, da mir das etwas zu umständlich wird.
Grüße
sharp_noob
Hallo Community.
Ich steh momentan völlig auf dem Schlauch.
Ich muss eine doppeltverkette List sortieren, dazu soll ich noch am Anfang, in der Mitte und am Ende der Liste Objekte einfügen. Ich habe leider absolut keine Ahnung wie ich das realisieren kann, da ich noch nie mit verketteten Listen gearbeitet habe.
Wäre nett wenn mir jemand weiterhelfen könnte 🙂
mfg
sharp_noob
Danke herbivore ! 🙂 👍
2 von den Randfällen kann ich auch weglassen, das wird nicht allzu genau genommen, wenn die 1901 bzw. 2999 funktionieren soll das erfüllt sein.
Hallo.
Es geht wieder mal um die bekannten Schaltjahre 🙂
Es ex. ein Programm das einen Algorithmus enthält, der prüft ob das Jahr n mit
1901 ≤ n ≤ 2999 ein Schaltjahr ist.
Es sind nun max. 9 Datensätze gesucht die die Festigkeit, also Stabilität des Programms prüfen.
Ich habe die Jahre in einer for-Schleife untersucht ob sie durch 4 und 100, aber nicht durch 400 teilbar sind, es sind 7 Jahre die das erfüllen.
Das ganze kann man natürlich noch weiterführen mit Jahren die nur durch 4 teilbar, nur durch 100 teilbar, durch 4, 100 und 400 teilbar sind.
Wie würde man hier am besten vorgehen um zu prüfen ob das Programm standhält ?
Grüße
sharp_noob
wie immer thx@herbivore 😉
habs jetzt so
x = ...;
e = 1e-x;
while((xx < a - e) || (xx > a + e)) {
...
};
@deti61: Keine Angst, es gibt 2 Methoden, eine die mit Werten vom Typ float und eine die mit double-Werten rechnet. Funktioniert prima 🙂
Hi,
ich hab ne Methode in mein Programm gepackt die die Wurzel einer Zahl berechnet, das ganze dient zur Performance-Messung.
Die Berechnung erfolgt auf folgende Weise:
x ist eine bel. Zahl (die später dne Wert der Wurzel annehmen soll) und
a ist diejenige Zahl von der die Wurzel berechnet werden soll.
Die Berechnung erfolgt in einer while-Schleife:
while(x^2 != a)
{
x = (x + (a / x)) / 2
}
Das ganze geschieht halt mit Werten vom Typ float.
Das Problem bei dieser Berechnung ist jetzt aber das, wenn z.B. x = 1.0 ist, es bei kleinen Zahlen für a, z.b. a = 3.0 kein Ergebnis gibt, d.h. der Rechner rechnet immer weiter, das liegt wohl daran das bei der Berechnung irrationale Zahlen berechnet werden und v.a. Zahlen mit Periode ja unendlich sind.
Was für eine Möglichkeit gibt es denn diese "Bug" zu beseitigen, ich hatte gedacht jedes Zwischenergebnis nur auf eine festgelegte Anzahl von Nachkommastellen berechnen zu lassen, aber ich habe leider keine Ahnung wie ich das machen soll.
Viele Grüße
sharp_noob
Danke 🙂
Jetzt hab ichs in C#, das ganze muss ich jetzt nur noch für Java umschreiben, dann hab ich beides was ich wollte.
Hi Leute. Lang nicht hier gewesen. Jetzt habe ich allerdings nen Problem bei nem kleinen Programm was ich schreiben wollte. Und zwar gehts um die Anzeige von zeichen in einer bestimmten Form, um genauer zu sein in Form einer Pyramide.
Das ganze habe ich mir folgendermaßen vorgestellt:
n ist eine gewählte Zahl, dann wird in einer for-Schleife n-mal Zeilen gezeichnet und je Zeile sollen immer 2 zeichen hinzukommen, also per Zahlenfolge 2*i - 1, wenn i jetzt die Laufvariable der ersten for-Schleife sei.
Wie bewerkstellige ich es aber nun das die Ausgabe in Pyramidenform verläuft, also das erste Zeichen in der ersten Zeile genau in der Mitte, also n/2 liegt, in der folgenden Zeile dann alt 3 Zeichen, wo das erste wieder in der Mitte und jeweils 1 Zeichen links und rechts angehängt werden ?
Hier noch zum Vorstellen:
----------
--------
------
----
-*****-
usw. ("-" seien hier Leerzeichen).
Wäre für jede hilfe dankbar 🙂
Grüße
sharp_noob
Danke dir.
Habe die Schleife in einen neuen Thread gepackt und nun funktioniert es auch.
Die Invoke Methode habe ich nicht gebraucht, auf den Button zum senden von Nachrichten habe ich auch noch Zugriff.
Mit den Invoke-Methoden habe ich sowieso noch nix am Hut gehabt, ich muss dann solch eine Methode eines Steuerelements im neuen Thread aufufen damit ich Zugriff auf das Steuerelement im alten Thread bekomme, von dem ich diese Methode aufrufe ? Und dann als Argument einen Delegaten, der eine Methode aufruft, wo ich dann direkten Zugriff auf das Steuerelement habe ?
Mal noch ne kleine Frage nebenbei:
Wie ist es denn möglich verschiedene Farben in einem TextBox-Element zu verwenden ? Wenn ich etwas hinein schreibe und nachträglich die ForeColor-Eigenschaft ändere um einen weiteren Text in anderer Farbe hineinzuschreiben, dann nimmt der gesamte Text diese Farbe an. Gibt es da eine spezielle Eigenschaft ?
Hallo liebe Leute,
ich habe eine kleine Chat-Anwendung auf Server-Client Basis geschrieben, es soll einen Public Chat repräsentieren, d.h. es soll einem Internetchatraum ähneln.
Da ich mich leider noch nicht viel mit Networking unter C# auskenne, habe ich jetzt ein Problem, das ich nicht weiß wie ich beim Clienten auf eingehende Verbindung überwache. Beim Server geht das ja alles schön über einen TcpListener, aber beim Client habe ich ja den TcpClient weil ja die Verbindung zur ServerAddresse hergestellt werden muss.
Wenn ich dann den .ReadLine() Befehl des StreamReader-Objekts in eine Schleife schreibe und diese ausführe, nachdem die Verbindung steht, hängt das Programm und reagiert nicht mehr, bis ich den Server beende und eine Exception entsteht.
Kann mir vielleicht jemand weiterhelfen, wie ich das ganze möglichst synchron mache, also wie in einem Chatraum, dort empfängt man ja auch eine Nachricht, sobald ein anderer Client etwas geschrieben hat.
Grüße
sharp_noob