Hallo Leute, erstmal "ALLES GUTE IM 1999" !!!
und jetzt zur Sache:
Im Vorfeld zu sagen ich habe das Problem gelöst, aber scheint mir
das irgendwie zu kompliziert (und zu lang) gelöst zu sein. Wenn also
jemand Lust auf ein "verschachteltes Algoritmus" hat soll weiterlesen,
der Rest kann weitersurfen ;-]
Problem:
Wir haben eine "Datenbank" wo die felder ungef. so aufgebaut sind:
A;A1
A,A2
A;A3
.usw Anzahl nicht definiert
B;A1
.usw Anzahl nicht definiert
C;C1
.usw Anzahl nicht definiert
ZIEL: Namen (Werte) der Spalten in Variablen zu speichern mit Bezug auf Position in der Reihenfolge.
Die Gruppen sind schon in $GG (A,B,C) und $PG (A1;A2;A3) eingelesen worden.
Hier der Code:
Sieht ein wenig haotisch und die Variablennamen sind in meine LS geschrieben. ;-)
#################################
untergruppen- und gruppenanzahl ermittlen
#################################
$sad = ""; # jetzt - $GG
$prije = ""; # vorhin - $GG
$i = 0; # zähler
$broj_promjena = 0; # wechsel der I-Spalte
$broj_podgrupa = 0; # II-Spalte: anzahl der Gruppen
until($i eq $Reihen+1) { # schleife
$sad = $GG[$i]; #
if($sad ne $prije) # el. erster in der gruppe ?
{ # neue gruppe anfangen
$broj_promjena++; # wechsel (gruppenanzahl) um 1 erhöhen
$broj_podgrupa = 1; # neue untergruppe angfangen
$grupa[$broj_promjena] = $broj_podgrupa; #
$ime_gg[$broj_promjena] = $sad;
$v_pg[$broj_promjena][$broj_podgrupa] = $PG[$i];
} else { # nicht erster in der gruppe
$broj_podgrupa++; # untergruppenanzahl um 1 erh.
$grupa[$broj_promjena] = $broj_podgrupa;
$ime_gg[$broj_promjena] = $sad;
$v_pg[$broj_promjena][$broj_podgrupa] = $PG[$i];
} #
$prije = $GG[$i]; # vorhin = jetzt
$i++; # zähler hohe stellen
} # neuzyklus
$Broj_GG = $broj_promjena+1; # Hauptgruppenanzahl
#################################
und in den Variablen $ime_gg[hauptgruppe-zahl]
haben wir jetzt die namen aus der 1. Spalte
und in der Variable $v_pg[hauptgruppe-zahl][untergruppe-zahl]
haben wir die namen aus der 2. Spalte.
Sorry für die, die es nicht verstanden haben...
Wie gesagt, das funktioniert in der Praxis
und Perl ist bekannt dafür das er versch.
Wege zum einen Ziel ermöglicht und deswegen ...
ICH SUCHE EINEN KÜRZEREN WEG ZUM GLEICHEM ZIEL [ENDVARIABLEN].
Hat jemand eine Idee wie man das besser machen kann ?
Es kann auch als Hobby-Aufgabe oder Effizienzübung verstanden werden.
Viele Grüße,
Slobo