Entwickler-Ecke
Algorithmen, Optimierung und Assembler - variablen vergleichen
Abu36 - Fr 17.03.06 17:10
Titel: variablen vergleichen
hi, hab ein kleines problem. und zwar hab ich 27 variablen (ging nicht mit wenigeren). die variablen lesen immer bestimmte sachen im programm ein (zahlen). bei richtiger eingabe der zahlen müssen dann alle variablen den selben integerwert haben. jedoch, falls was falsch eingegeben wurde, sind natürlich einige variablen mit anderen werten.
nun sollen also alle variablen mit einander verglichen werden. alse variable eins müsste mit 26 anderen variablen verglichen werden. das bei jeder, dann hätte man 26 mal 27, das ist zu viel. wie kann ich denn das in eine schleife machen oder mit if-entscheidungen.
wenn wirklich alle variablen den selben wert haben, soll es noch in einem edit-fenster ausgegeben werden. also da soll dann 'richtig' drin stehen, oder halt falsch, wenn sie nicht übereinstimmen.
ich hoffe ihr könnt mir weiterhelfen. danke
Moderiert von
Christian S.: Topic aus VCL (Visual Component Library) verschoben am Fr 17.03.2006 um 16:20
Christian S. - Fr 17.03.06 17:20
Wenn ich das richtig sehe, musst Du nur jede Variable mit der ersten vergleichen. Wenn alle gleich sind, müssen auch alle gleich der Ersten sein.
Kannst Du die Variablen in ein Array verpacken?
Abu36 - Fr 17.03.06 18:48
du hast recht christian, aber wie soll ich das schreiben, z.b. mit 'if' usw. :?: :?: :?:
Christian S. - Fr 17.03.06 19:13
Naja, wenn Du die Variablen in einem Array hättest, kämst Du mit einer if-Abfrage in einer Schleife aus. Wenn Du wirklich so viele einzelne Variablen hast, sehe ich im Moment keine wirklich elegante Lösung :gruebel:
Abu36 - Fr 17.03.06 19:32
wie könnte ich dies denn ins array schreiben?
GTA-Place - Fr 17.03.06 19:39
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var MyArray: Array[1..27] of Integer;
[...]
begin MyArray[1] := 100; MyArray[2] := 345;
[...]
for X := 1 to 27 do if not (MyArray[X] = MyArray[1]) then ShowMessage('Net alle gleich!'); end; |
Christian S. - Fr 17.03.06 19:41
Deklaration mit Doppelpunkt, Zuweisung mit ":=" und der Vergleich sollte ein "<>" sein ;-)
Abu36 - Fr 17.03.06 20:40
danke, jetzt funktionierts einwandfrei.
eine fragen noch:
was bedeutet es, wenn eine variable nicht initialisiert ist?
GTA-Place - Fr 17.03.06 21:29
(Neue Frage, neuer Thread. Danke.)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var X, Y: Integer; begin X := 1 + X; Y := 10; Y := 1 + Y; end; |
Marc. - Fr 17.03.06 21:37
das stimmt aber so nicht!
X wäre in deinem beispiel nicht "nichts", sondern hätte den wert 4358324 ;)
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!