Forum

Forum (https://www.ms-office.gr/forum/)
-   Access samples - Χρήσιμα αρχεία & παραδείγματα (https://www.ms-office.gr/forum/access-samples-xrisima-arxeia-paradeigmata/)
-   -   Δημιουργία όλων των συνδυασμών, μεταθέσεων, διατάξεων και υποσυνόλων. (https://www.ms-office.gr/forum/access-samples-xrisima-arxeia-paradeigmata/4656-dimioyrgia-olon-ton-syndyasmon-metatheseon-diatakseon-kai-yposynolon.html)

kapetang 19-08-17 19:41

Δημιουργία όλων των συνδυασμών, μεταθέσεων, διατάξεων και υποσυνόλων.
 
1 Συνημμένο(α)
Δημιουργός: Γιώργος Καπετανόπουλος (19/8/2017)

Με το συνημμένο πρόγραμμα μπορούμε, από ένα σύνολο {A0, A1, …, An-1} n διαφορετικών στοιχείων, να δημιουργήσουμε, και να αποθηκεύσουμε σε πίνακα:
  • Τους συνδυασμούς ανά r (0 < r <= n).
  • Τους συνδυασμούς ανά r (r > 0), με επανάληψη.
  • Τις μεταθέσεις.
  • Τις διατάξεις ανά r (0 < r <= n).
  • Τις διατάξεις ανά r (r > 0) με επανάληψη.
  • Τα υποσύνολα (δυναμοσύνολο).
Ειδικά, για τα υποσύνολα, στον πίνακα tblSubSets, εκτός από τα υποσύνολα, αποθηκεύεται και το πλήθος των στοιχείων τους.

Έτσι δίνεται η δυνατότητα κατάλληλης ταξινόμησης (ή και φιλτραρίσματος) στο ερώτημα qrySubSets.

Η περίπτωση εύρεσης των μεταθέσεων σε σύνολο με μη διαφορετικά στοιχεία δεν καλύπτεται.

Αν και έψαξα στο Internet, δε βρήκα, κάποιο αλγόριθμο.

Για περιορισμένο αριθμό στοιχείων (n<11) θα μπορούσε να εφαρμοστεί η παρακάτω λύση.

Αν έχουμε 3 στοιχεία τύπου Α, 2 τύπου Β και 4 τύπου Γ, συμπληρώνουμε στο σχετικό πεδίο της καρτέλας μεταθέσεων τη συμβολοσειρά Α|Α|Α|Β|Β|Γ|Γ|Γ|Γ και πατούμε το κουμπί.

Θα υπολογιστούν οι μεταθέσεις σαν να είχαμε 9 (3+2+4), διαφορετικά στοιχεία και θα αποθηκευτούν στον πίνακα tblPermutations.

Με το συγκεντρωτικό ερώτημα qryPermutations λαμβάνουμε μόνο τις διαφορετικές.

Σχόλια και προτάσεις για διορθώσεις και βελτιώσεις είναι πάντα ευπρόσδεκτα.


Η ώρα είναι 22:13.

Ms-Office.gr - ©2000 - 2024, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2