H
h.nietnagel
Grünschnabel
Hallo zusammen,
nach etwa 20 Stunden unermüdlichen Probierens, komme ich jetzt doch nicht am Nachfragen vorbei :-(
Ich möchte ein Array von 16 Dateinamen erstellen, die eine Zahl enthalten (zwischen 0 und 15), die zufällig vergeben werden soll, allerdings soll jede nur einmal vergeben werden.
Wenn ich einen "break" einfüge, nachdem die Zahl zweimal vorkommt, dann wird dieser ignoriert und die Zahl kann häufiger vergeben werden, wenn ich einen "break 2" einfüge, dann enthält mein Array zum Schluss weniger als die 16 Einträge.
Wo liegt mein Denkfehler?
Vielen Dank im Voraus für Tipps!
Hannes
nach etwa 20 Stunden unermüdlichen Probierens, komme ich jetzt doch nicht am Nachfragen vorbei :-(
Ich möchte ein Array von 16 Dateinamen erstellen, die eine Zahl enthalten (zwischen 0 und 15), die zufällig vergeben werden soll, allerdings soll jede nur einmal vergeben werden.
Wenn ich einen "break" einfüge, nachdem die Zahl zweimal vorkommt, dann wird dieser ignoriert und die Zahl kann häufiger vergeben werden, wenn ich einen "break 2" einfüge, dann enthält mein Array zum Schluss weniger als die 16 Einträge.
Wo liegt mein Denkfehler?
PHP:
#!/bin/bash
#Program to crop the picture and resamble the pieces
declare -a ListPartPics
#convert testa.png -crop 25% %d_test.png
Max=15
count=-1
noEntries=16
while [ $count -lt $Max ] ## ${#ListPartPics[$noEntries]}
do
count=$[$count+1] # increment the counter by 1
let "zahl = $RANDOM % $Max + 1"
echo "Hier lautet die zahl:" $zahl
i=0
for i in ${ListPartPics[@]}
do
echo "This is i:" $i
if [[ $zahl == $i ]]
then
count=$[$count-1] # set the counter back to the preceding one
echo "this is count number in the if loop: set back by 1: " $count
break 2
fi
done
ListPartPics[$count]=$zahl
echo "this is count number" $count
echo ${ListPartPics[$count]}"_test.png"
done
echo "Anzahl Elemente in der Liste:" ${#ListPartPics[@]}
echo "these are the picture numbers being used:" ${ListPartPics[@]}
Vielen Dank im Voraus für Tipps!
Hannes