PDA

View Full Version : Werte vergleichen



FNeurieser
07-07-16, 15:37
Hallo allerseits,

wieder einmal suche ich nach einer relativ einfachen lösung:

Vorgabe: 3 Feldgruppen mit je 10 Elementen. Die F1 enthält einen numerischen Wert, F2 enthält ebenfalls einen numerischen Wert, die F3 ist zu Beginn blank. Aus F2 sollen alle Feldinhalte miteinander verglichen werden und beim kleinsten Wert ein K ins entsprechende F3 Feld geschrieben werden, sodass mit F1 (bei dem in F3 K steht) weitergearbeitet werden kann.

Wie löse ich das am Einfachsten? Stehe momentan auf der Leitung.

Danke schon mal für eure Hinweise.
LG
Franz-Georg

Robi
07-07-16, 15:44
Die antwort bezieht sich auf eine ganz andere Fragestellung.
Die Frage wurde nachträglich geändert!

Moin,
die F2 ist zu beginn blank?

Also sorta auf f1 nach f3 und alle f2 deren f1 = f3,1 ist mit k versehen

oder hab ich was nicht verstanden?

FNeurieser
07-07-16, 15:52
@Robi,

nee ich glaube da liegt ein Mißverständnis vor.

F1 -> 1, 15, 2, 20, .....
F2 -> 15, 3, 6, 98,.....

F3 -> im 2. Element ein K und mit F1(2) weiterarbeiten.

So hatte ich es gemeint.

Fuerchau
07-07-16, 16:09
Diese Aufgabe habe ich nun nicht verstanden aber ich interpretiere mal:

So ist es wahrscheinlich nicht gemeint:

for x=1 to 10;
if f1(x) < f2(x);
f3(x)='K';
endif;
endfor;

Oder so?

for x=1 to 10;
for y=1 to 10;
if f1(x) < f2(y);
f3(x) = 'K';
endifM
endfor;
endfor;

Robi
07-07-16, 16:40
Diese Aufgabe habe ich nun nicht verstanden

Schließe mich an

Oh, sehe gerade der original Post wurde geändert.
Nun sind es dort auch 3 FG

mit beiden Erklärungen würde ich tippen

F1 soll verarbeitet werden
- entweder nur F1(kleinster_wert_F2)

oder
- in der Reihenfolge von klein nach goss aus F2

so ungefähr?

Robi
(der geänderte Original Posts nicht mag!)

Pikachu
07-07-16, 17:01
Die erste oder letzte Stelle mit dem kleinsten Wert in F2 suchen und mit F1 dieser Stelle weiterarbeiten?

FNeurieser
07-07-16, 17:52
Hallo allerseits,

um die Verwirrung aufzulösen

F1 -> 1, 15, 2, 20, .....
F2 -> 15, 3, 6, 98,.....

F3 -> im 2. Element ein K und mit F1(2) weiterarbeiten, da in F2 der kleinste Werte die 3 ist.

Es sollte ja mit dem Index des kleinsten Wertes auf F2 in F1 weitergearbeitet werden, d.h. mit der 15 aus F1 wird weitergearbeitet.

Hoffe ich konnte das etwas aufhellen.

LG
Franz-Georg

Fuerchau
07-07-16, 18:15
Nun denn:
D DS
D Feldgruppen x(8) dim(10) ascend
d xF2 5 0 dim(10) overlay(feldgruppen:1)
d xF2I 3 0 dim(10) overlay(feldgruppen:*next)

for x=1 to 10
xF2(x)=f2(x)
xF2I(x)=x
endfor;
sorta Feldgruppen;

=> xF2i(1) steht der Index aus F2 des kleinsten Wertes

Pikachu
07-07-16, 21:35
Kleinster = 1
Mit Index von 2 bis 10:
Falls F2(Index) < F2(Kleinster): Kleinster = Index

Weiter mit F1(Kleinster)