Autor Beitrag
g1o2k4
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Fr 21.12.07 21:40 
nabend


ich hab ein FELD array of array of String.
in der 2. dimension steht ein float wert.
also z.b. FELD[0][1] = 0,243875
also mit strtofloat in einen mathematischen ausdruck "castbar".
das feld will ich jetzt nach der 2. zeile sortieren. aber irgendwie klappt es nicht so recht

ausblenden Delphi-Quelltext
1:
2:
type blablabla = array of array of String;
function test(bla: blablabla):blablabla;


das sollte ja klappen richtig ?
und wie sortiere ich das feld ?
noch als hinweis, es soll nicht die 2. spalte sortiert werden sondern, wenn er einen wert der 2. spalte woanders hinschiebt, dass er dann auch die 1. spalte mittauscht.

in der ersten spalte ([Zeile][0]) sind buchstaben und in der zweiten ([Zeile][1]) die werte, in meine fall sind es die auftrittswahrscheinlichkeiten der buchstaben.
ich möchte jetzt nach auftrittswahrscheinlichkeit sortieren -> also nicht nur die wahrscheinlichkeit sondern auch den wert mittauschen beim sortieren.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 21.12.07 22:38 
user profile icong1o2k4 hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
type blablabla = array of array of String;
function test(bla: blablabla):blablabla;


Entweder ich kenne die Verschlüsslungsmethode nicht, oder du solltest ein bisschen genauer werden. Was soll die Fuktion Test denn machen? Und warum schreibst du nicht einfach die Parameter und den Rückgabewert rein, so dass man das auch lesen kann? Vielleicht kann ich dir dann helfen.
g1o2k4 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Fr 21.12.07 22:47 
also ganz oben unter uses ist der feldtyp deklariert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Math;

type Mehrdimarray = array of array of String;

type
  TForm1 = class(TForm)
    MText: TMemo;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
          M: integer;
          ZKette,TextS: String;

    { Public-Deklarationen }
.
.
.


dann wird bei buttonklick ein 2 dimensionales array aus dem text in nem memo feld errechnet.
das array sieht so aus.
ausblenden Delphi-Quelltext
1:
Werte: Mehrdimarray;					

Werte ist global im gesamten programm verfügbar.

die belegung sieht wie folgt aus: Werte[Buchstaben][Auftrittshäufigkeit]

die test funktion von oben heißt jetzt sortiere() und soll das feld nach den Auftrittshäufigkeiten, also nach der 2. Spalte sortieren...
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Fr 21.12.07 23:20 
Zwei Tipps:
-Nimm doch einen Record, der aus einem String und einer Double-Variablen besteht. Dann musst Du nicht jedes mal umwandeln.
-Mit diesen Records kannst Du dann ein Array of Recordtyp machen. Wenn man die Werte vergleicht und tauschen muss, tauscht man gleich den ganzen Record.

ub60
g1o2k4 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Fr 21.12.07 23:35 
user profile iconub60 hat folgendes geschrieben:
Zwei Tipps:
-Nimm doch einen Record, der aus einem String und einer Double-Variablen besteht. Dann musst Du nicht jedes mal umwandeln.
-Mit diesen Records kannst Du dann ein Array of Recordtyp machen. Wenn man die Werte vergleicht und tauschen muss, tauscht man gleich den ganzen Record.

ub60


super tipp danke !

mal schaun ob ich das sortieren mit dem record so hinbekomme....