Entwickler-Ecke
Sonstiges (Delphi) - Array-Problem
Trialtom - Sa 14.09.02 23:16
Titel: Array-Problem
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 - 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 - 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 - 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 - So 15.09.02 08:59
Titel: Re: Array-Problem
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 :
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 :
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 - 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!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!