Ersetze in Deinen For-Schleifen den ODER-Operator (||) durch einen AND-Operator (&&), dann dürfte das Deiner Vorstellung näher kommen. So wie das jetzt ausformuliert ist, wird die erste Schleife bis zum Wert ledgroup hochgezählt, die restlichen kommen nie zum Zug.
EDIT: Zudem solltest Du die Initial-Werte überdenken. Du zählst ledgroup runter, aber vergleichst nach der ersten Schleife mit 6, obwohl Dein Wert dann bereits um 6 verkleinert ist.