AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 05:47

Parameter dieser Suchanfrage:

Suche in Thema: Schnittmenge von mehreren Mengen ermitteln
Suche alle Beiträge, die von "Horst_" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 21. Mär 2012
    Hallo,

    dann liegt es wohl an Freepascal und deren Speicherung dynamischer Felder.
    Was mich wundert, dass Panthrax mit Win64 das kompiliert bekommt.
    Freepascal 2.7.1. für Linux64 meckert über jede Zeile.
    Die Pascalversionen sind dann aber für Int64 (etwas mehr) und Int32 ( ein wenig) schneller, weil dann viel mehr Register benutzt werden können, aber kein Vergelich zu den Assemblerversionen....
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 21. Mär 2012
    Hallo,

    Ach Herr je,
    da will man clever sein und fällt wieder auf die Nase ;-)
    Weil bei mir PrepareSamples wegen random in freepascal so ewig dauerte, kam ich auf die Idee, für eine neue Runde Left aus Right zu kopieren und anschliessend nur PrepareSamples(Right) aufzurufen.
    Dämlicherweise habe ich dies nicht ans Ende der repetitions-Schleife getan sondern noch in der Schleife für die...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 20. Mär 2012
    Hallo,

    Da ich kein Unit diagnostics habe, ( Wo gibt es die für freepacal? ) habe ich ein workaround queryperformancecounter oder einfach time unter Linux genommen.

    Der Aufruf der Assemblerversion sollte auch Intersect, hier Left, auf die richtige Länge setzen, damit Chancengleichheit herrscht und man den Fehler überhaupt erkennen kann.

    procedure _Intersect59ASM(var Left: TSampleArray;...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 20. Mär 2012
    Hallo,

    Was soll ich sagen, aber es zählt immer noch einen zuwenig, wenn gleiche Felder vorliegen :-(.
    // Ausgangsfeld erzeugen
    setlength(TestFeld,MAXDATCOUNT);
    FillArray(TestFeld);
    writeln('Laenge Ausgangsfeld ',length(TestFeld):9);
    writeln('Ausgabe GetINtersect5 bei gleichen Feldern ',GetIntersect_5(TestFeld,TestFeld,length(TestFeld)):9);
    writeln();
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 19. Mär 2012
    Hallo,

    @Amateurprofi:
    Ich habe nur die Version, die Panthrax eingebaut hat, verwendet, villeicht hat sich dort ein kleiner Fehler eingeschlichen.
    Dort ist das Ergebnis, die Anzahl der gemeinsamen Elemente in EAX, zweier gleicher Felder eben ein Element zu wenig, wie es auch bei der Pascal Version #19 der Fall ist.
    Die Felder die ich erstellt habe, haben keine doppelten, wie ich auch in...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 18. Mär 2012
    Hallo,

    @Amateruprofi,

    kann es sein, dass die Assemblerversion in http://www.delphipraxis.net/1156992-post45.html bei gleichen Feldern ein Feld zu wenig zählt.

    @panthrax
    Ich habe habe Deine Version #45 zu #51 mit while-Schleifen umgebaut, die zählt scheinbar richtig.
    Anbei ein Testprogramm.
    Bei -1 wird Testfeld gegen Testfeld getestet und die Schnittmenge sollte die gleiche Länge...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 17. Mär 2012
    Hallo,

    ich hatte bei #45 übersehen, dass setlength garnicht genutzt wird, dann stimmt die assembler Version für 32 Bit Datentypen.

    procedure _Intersect35ASM(var Left: TSampleArray; const Right: TSampleArray);
    var
    R: TSampleArray;
    begin
    R := Right;
    setlength(Left,Intersect35ASM(Left, R, Length(Left)));
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 17. Mär 2012
    Hallo,

    ich habe mal das Programm geändert und einfach ein Testfeld mit Zahlen gleichen Abstandes gefüllt habe ( sehr großer Abstand) und anschließend in diesem diese Feld zufällige Werte um 1 oder mehr vergrößert habe.
    Dies mehrfach hintereinander.
    Versuch= verändertere(Versuch)

    Es war mir nicht geheuer, immer nur die gleiche Datei mit sich selbst zu vergleichen, da werden keine Daten...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 13. Mär 2012
    Hallo,

    im Prinzip bleibt es bei Patti's Vorschlag aus PostNr 2
    Aber in 500 ms aus 480 Mbyte die Schnittmenge zu bilden heißt nur, dass alle Dateien im Cache waren.

    Gruß Horst
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Schnittmenge von mehreren Mengen ermitteln

      FreePascal
      by Horst_, 12. Mär 2012
    Hallo,


    Darum wird fast kaum herum kommen, alle einzulesen, selbst bei Deinem Verfahren http://www.delphipraxis.net/1156016-post2.html
    Hier etwas abgewandelt
    - feststellen der Anzahl der Datensätze in den n Dateien
    - Anzahl dieser Datensätze sortieren, ergibt Dateien n1... <... n12, n1 enthält wenigste Datensätze, n12 die meisten
    - n1 -> tmp
    - wiederhole für Datei = n2 bis n12
    ...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Horst_&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=167053
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz