Πέμπτη 3 Δεκεμβρίου 2015

Γενικός Απαριθμητής Συνδυασμών

βρήκα ένα bug όταν δίναμε μηδενική τιμή στον ορισμό πίνακα: Πίνακας Α(10)=0
(κανονικά με Πίνακας Α(10) έχουμε μηδενική τιμή)
Διορθώθηκε στην 101 αναθεώρηση.

Θέλουμε να μετρήσουμε και να δείξουμε όλους τους συνδυασμούς  ενός απαριθμητή. Ο απαριθμητής μας έχει μετρητές σε σειρά, ώστε ο πρώτος μετρητής να γυρίζει τον δεύτερο όταν κάνει ν βήματα.
Ας πούμε ότι έχουμε δυο ζάρια, άρα ο απαριθμητής μας θα είναι δυο μετρητών με έξι βήματα ο καθένας. Έχουμε τον δείκτη νιοστό που αν είναι αληθές τότε μετράει από το 1 αλλιώς μετράει από το 0. Εδώ θέλουμε από το 1 για να πάρουμε όλους τους συνδυασμούς από 1,1 έως 6,6

Αν θέλουμε να βγάλουμε τους δυαδικούς αριθμούς 4 ψηφίων τότε θέλουμε:
νιοστό=ψευδές :ν=2: μετρητές=4 

Αν θέλουμε τους οκταδικούς από το 000 έως το 777 τότε θέλουμς
νιοστό=ψευδές :ν=8: μετρητές=3

Για τα πρώτα 256 δυαδικά των 8bit:
νιοστό=ψευδές :ν=2: μετρητές=8


φορμα 80,40
νιοστό=ψευδές \\ αληθές μετράει την εμφάνιση σειράς από 1, ψευδές από 0
ν=8 \ ο κάθε μετρητής από 0 έως ν-1
μετρητές=2
\\ βοηθητικές ν1 και μετ1
αν νιοστό τότε {
      ν0=1
      ν1=ν
} αλλιώς {
      ν0=0
      ν1=ν-1
}

πινακας μετρ(μετρητές)=ν0
μετ1=μετρητές-1
τόσο=ν**μετρητές
πόσο=τόσο
αν νιοστό τότε πόσο++
Επανέλαβε {
      Για ι=μετ1 έως 0: Τύπωσε μετρ(ι), : Επόμενο ι : Τύπωσε πόσο-τόσο
      ι=0
      μετρ(ι)++
      ενώ μετρ(ι)>ν1 {
            μετρ(ι)=ν0
            ι++
            αν ι>μετ1 τότε έξοδος
            μετρ(ι)++
      }
      τόσο--
} μέχρι τόσο=0


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.