Autor Beitrag
Trialtom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: Sa 14.09.02 23:16 
Hallo an alle,
ja schon wieder ein Problem:
Ich habe 2 Array mit jeweils bis zu über 20 strings. das programm muss nun erkennen, ob ein Wort des einen Array (aus N[c]...z.B.) mit einem Wort des anderen Array (O[c]) übereinstimmt. c sei einfach nur die Folge der nat. Zahlen (1,2,3,...,c). Wenn es ein Wort gibt, dass in N[c] UND in O[c] vorhanden ist, das soll es eine Anweisung audführen:
N[1]=asyz N[2]=syzw N[3]=yzwe N[4]=zwei N[5]=weiq ....
O[1]=null O[2]=eins O[3]=zwei O[4]=drei ....
Ich möchte das es erkennt das das Wort 'zwei' jeweils in N[c] als auch in O[c] gibt.
Ich glaube ich habe mich viel zu präzise ausgedrückt, die ersten 2 sätze hätten genügt. :D
Wenn ihr ne Idee habt, wäre echt hilfreich.
Danke
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: So 15.09.02 00:11 
Besteht jedes Element nur aus einem Wort oder kann es sich dabei auch um mehrere Wörter handeln?
Trialtom Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: So 15.09.02 02:24 
nein, jedes element hat nur ein wort, wie in dem beispiel --> N[3]=yzwe
das einzige was auf diesem element n[3] gespeichert ist ist der string 'yzwe'. um ein beispiel zu nennen.
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 15.09.02 03:21 
Hi,

Du durchsuchst einfach Deinen Array N nach Deinem String. Hast Du Ihn gefunden, merkt sich das Programm das und dann durchsuchst Du dein Array O. Ist auch dort dieses Wort enthalten, so merkst Du Dir das ebenfalls und machst dann eine Abfrage. Sind beide Werte positiv, führst Du deine Anweisung aus.
Hagbard Celine
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 119



BeitragVerfasst: So 15.09.02 08:59 
Trialtom hat folgendes geschrieben:
Hallo an alle,
ja schon wieder ein Problem:
Ich habe 2 Array mit jeweils bis zu über 20 strings. das programm muss nun erkennen, ob ein Wort des einen Array (aus N[c]...z.B.) mit einem Wort des anderen Array (O[c]) übereinstimmt. c sei einfach nur die Folge der nat. Zahlen (1,2,3,...,c). Wenn es ein Wort gibt, dass in N[c] UND in O[c] vorhanden ist, das soll es eine Anweisung audführen:
N[1]=asyz N[2]=syzw N[3]=yzwe N[4]=zwei N[5]=weiq ....
O[1]=null O[2]=eins O[3]=zwei O[4]=drei ....
Ich möchte das es erkennt das das Wort 'zwei' jeweils in N[c] als auch in O[c] gibt.
Ich glaube ich habe mich viel zu präzise ausgedrückt, die ersten 2 sätze hätten genügt. :D
Wenn ihr ne Idee habt, wäre echt hilfreich.
Danke


Wenn Du direkt bei der Eingabe eines Wertes in ein Array prüfst ob der Wert in dem anderen vorkommt, so kannst Du einfach auf diese Weise prüfen ob er dort vorhanden ist :

ausblenden Quelltext
1:
2:
3:
4:
5:
i := 0;
found := false;
while (i < length(Array)) and (found=false) do
  if (Array[i] = neuerWert) then found := true
  else inc(i);


Jetzt hast Du in i die Position des ersten Vorkommens von neuerWert!
Wenn Du alle Vorkommen von neuer Wert im Array finden möchtest musst DU entsprechend mit einem Array für die Positionen arbeiten und die Schleife bis zum letzten Element durchlaufen!

Wenn du zu einem beliebigen Zeitpunkt diebeiden Arrays vergleichen möchtest so kannst Du die obige Funktion in eine weitere Schleife setzen :

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
for j := 0 to length(ArrayEins) do begin
  i := 0;
  found := false;
  while (i < length(ArrayZwei)) and (found=false) do 
    if (Array[i] = ArrayEins[i]) then found := true
    else inc(i);
  
  // Ergebnis verarbeiten für jedes Feld!

  end;

// Ergebnis verarbeiten nachdem alle Felder verglichen wurden.


Ich hoffe das hilft Dir weiter!
Trialtom Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38



BeitragVerfasst: So 15.09.02 16:10 
1000 Dank, mit einigen kleinen Veränderungen ging es, wow. Bis man durch so eine Schleife vollständig durchsieht...
Thanks!