Wenn dies dein erster Besuch hier ist, lese bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich registrieren, bevor du Beiträge verfassen kannst. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Laden, habs jetzt ganz simpel per xmlhttprequest gelöst, allerdings hab ichs mit den beispielen der msdn nicht ganz hinbekommen. hatte dauernd fehlermeldungen, obwohl das dokument valide war.
codebeispiel auf wikipedia läuft aber :P
xmlHttp.open('GET', 'beispiel.xml', true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
console.log(...);
}
};
xmlHttp.send(null);
sitze auf dem knoten essen und will zu deutsch. folgendes geht nicht
.selectNodes("./deutsch");
.selectNodes("child::deutsch");
per wildcard
.selectNodes(".//*);
.selectNodes("child::*);
bekomme ich aber die richtigen kindnoten deutsch, pr, pr, pr geliefert.
--
Irgendwie haperts etwas mit der direkten Adressierung. "/*" liefert mir korrekterweise , "/speiseplan" hingegen nicht.
Und zwar suche ich eine flexible (ohne feste Limits für Start, Ende, Anzahl Stellen) Möglichkeit mir die Kombinationsmöglichkeiten von Tupeln ausgeben zu lassen. Kleines Beispiel:
ich möchte ein 4-Tupel mit allen Möglichkeiten für die Werte 1-4 haben:
Ich glaube so wie ich es aufgeschrieben habe ist es schon die Reihenfolge in der ich auch die Schleifen laufen lassen müsste, aber irgendwie fehlt mir noch der richtige Denkansatz, wäre für Ideen dankbar :)
moin, hab vor 3 wochen mit delphi angefangen und soll jetzt folgendes programmieren:
https://www.fbi.h-da.de/fileadmin/personal/b.humm/APT_WS0910/Praktiktum/07_Praemienjagd.pdf
habe eine textdatei mit 500.000 preisen, die ich dafür benutzen soll.
ich brauche einen ansatz, wie man das ganze lösen könnte.
hab mir erstmal nen button und n richedit erstellt und bei buttonclick wird der inhalt der textdatei ins richedit geladen (habe zum testen jetzt nur 20 preise genommen, nicht 500.000).
nun weiß ich leider nicht mehr weiter.
es geht mir um die logik, nicht wie man das in programmcode umsetzt. hoffe jemand kann helfen
lol gerade nochmal deinen post durchgelesen :D , is wohl sschon zu nah am code
hmm klingt interessant....
sollte fuer dich nach 3 wochen aber eher nicht schaffbar sein, es sein denn du hast genuegend logik vorlesungen etc gehabt...
ausserdem soll das nicht in n paar minuten zu loesen sein.
hab n bissl drueber nachgedacht und unbeachtet der laufzeit, die in meinem fall grausam waere, n vorschlag. kann aber nich mal mehr sagen, ob der richtig oder falsch ist.... ist einfach nur ausgesponnen... egal!
alsooooo:
ich wuerde die preise in ein array laden, das 1 Zeile und n Spalten hat. (n= Anzahl der Preise)
danach ein array mit n Zeilen und n Spalten erstellen, in dem ich alle moeglichen kombinationen errechne. bsp: Zelle (1,1) = LEER (da selber Preis), Zelle(1,2) = Preis1+Preis2, Zelle(1,3) = Preis1+Preis3 usw.
beim errechnen des preises, die preise aus dem preis-array holen und nur berechnen, wenn ein preis im cent-bereich gerade und der andere ungerade ist (da die Summen ja ungerade sein muessen).
Also hast du bei 20 Preisen, 400 Zellen und innerhalb dieser dann die moeglichen kombinationen.
die moeglichen kombinationen speicherst du dann in einem neuen array.
wobei du nicht die ergebnisse speicherst, sondern die Zeile und Spalte.
sollte preis 1 + preis 3 auf .77 enden, dann wuerde ergebnis_array(1,1) den Wert (1,3) speichern.
da zelle(1,3) und zelle(3,1) des Kombinationsarrays den gleichen inhalt haben darauf achten, dass die nur einmal gespeichert werden.
nun solltest du also ein array haben, dass alle gueltige Kombinationen enthaelt.
(hier fehlt mir nun leider die erkenntnis, wie man ab hier am geschicktesten vorgeht.... egal ich versuchs trotzdem....)
die liste der kombinationen muss natuerlich um Eintraege vermindert werden, in der Preis 1 und Preis 3 (meine erste moegliche Kombination ) vorkommt. Nach dieser Saeuberung, mit der Zweiten moeglichen Kombination fortfahren und Eintraege eliminieren in der bespw. Preis 4 und Preis 6 vorkommen.....
dies solange durchfuehren, bis das Array gueltig ist. das Ergebnis ist eine korrekte Liste, die ausgegeben werden koennte - aber nicht maximiert ist.
daher die ganze eliminierungsgeschichte von vorne beginnen und dieses mal mit einer Zelle beginnen, die nicht in der vorherigen Ergebnisliste vorhanden ist.
sollte deren Ende mehr Kombinationen zu tage bringen, kann die alte Liste durch die neue Liste ersetzt werden.
das ganze solange durchfuehren, bis alle moeglichen startkombinationen durch sind.
----------------
also gerade der letzte abschnitt hapert n bissl, aber in den 30minuten hab ich nich mehr gebacken bekommen.
für mich ist es wichtig, weil der betrieb, in dem ich arbeite (duales studium) ausschließlich mit delphi programmiert.
aber die idee von tobilala klingt schon mal gut, vielen dank, ich werds so versuchen
naja, du lädst dir also zusätzlich die einkaufsliste ins programm
Enkaufsliste nehmen und alle Paare ermitteln die gültig sind ( dabei den ersten Wert aus der ZwischenlisteA wegnehmen, dann kommt auch nichts doppelt vor)
jetzt kommt der "schwierige" Schritt. Du erzeugst eine Menge Listen, indem du aus der großen PaarlisteY durch eine While Schleife (oder wie du magst) eine ZwischenlisteX erzeugst, aus dieser nimmst du ein Element und erzeugst einen Baum (oder eben eine Liste du dann aber für jede Möglichkeite kopieren musst), kopierst ZwischenlisteX , du überprüfst sie dann auf die Teilelemente und löscht diese Einträge (in der neuen ZwischenlisteY). Diese ZwischenlisteY überpüfst du auf die selbe Methode.
Wichtig immer neue Listen für jede Möglichkeit erzeugen und die Zwischenlisten sauber halten
Dadurch ezeugst du alle Möglichkeiten rechnest halt für die Listen die Werte aus, behältst immer die höchste im SPeicher und iwann sagt er fertig.
Logisch wäre vllt auch zu schauen, wie viele Verbindungen ein Objekt hat und dann
1. entweder danach zu gehen, welches am wenigsten Möglichkeiten hat
2. immer nur Objekte mit ungeraden Verbindungen zu verbinden, bis keine mehr übrig ist, dann eines random zu nehmen und so fort fahren.
Oh fuck, 1.stes Semester Info. Warte mal mir fällt heut noch iwas ganz dummes dazu ein.
ich möcht den gern verstehen, daher die Frage:
wie zählt er denn die cols durch? unten wird cols dekrementiert, aber wenns dann aus der while rausspringt wird das col wieder mit dem count neu initialisiert und bleibt ewig gleich..
wo is mein Denkfehler?
Kommentar