giorgis1987 Δημοσ. 8 Απριλίου 2008 Δημοσ. 8 Απριλίου 2008 Καλημέρα σε όλους! Θα ήθελα κάποιον που να γνωρίζει καλά το excel να μου δώσω κάποιες πληροφορίες για το πως μπορώ να δημιουργήσω το εξής: Έστω έχω 1 σύνολο από 10 αριθμούς, το {1,2,3,4,5,6,7,8,9,10} Και θέλω να μου δίνει σε μια λίστα όλες τις πιθανές τετράδες, Όμως: α) Δε με ενδιαφέρει η θέση των αριθμών μέσα σε μια τετράδα (δηλαδή η ακολουθία: 1,2,3,4 με την ακολουθία: 4,3,2,1 για μένα είναι ίδια, δε με αφορά, η εμφάνισή των συγκεκριμένων αριθμών μέσα στην τετράδα είναι που με αφορά μόνο) β) Δε με ενδιαφέρει η επανάληψη των αριθμών, ας τη θεωρήσουμε αδύνατη... (δηλαδή μία ακολουθία της μορφής : 1,2,3,2 είναι μη αποδεκτή για το παράδειγμά μας) Δηλαδή θέλω μια λίστα σαν αυτή: 1,2,3,4 1,2,3,5 1,2,3,6 1,2,3,7 ... ... ... 10,9,6,3 10,9,6,4 10,9,6,5 ... ... ... 8,3,9,1 8,3,9,2 8,3,9,4 Ελπίζω να έγινα κατανοητός για το τι ζητάω.... Απλά αντί να κάθομαι να τα φτιάχνω με το χέρι, και επειδή δεν είναι 10 τα νούμερα αλλά πολύ περισσότερα και επειδή το θέλω στο excel γιατί πάνω στα αποτελέσματα θέλω να προσωρήσω σε άλλες επεξεργασίες, θα ήθελα να με βοηθήσει κάποιος για το πως είναι δυνατόν να κάνω το πρόγραμμα να μου κάνει αυτούς τους συνδυασμούς με τις προυποθέσεις που σας είπα αυτόματα. Κάτι που σκέφτηκα ως λύση είναι η εξής: Έχω δημιουργήσει 4 στήλες στις οποίες έχω καταγράψει με τη σειρά όλους τους αριθμούς με τους οποίους θέλω να γίνουν οι συνδυασμοί των 1 κάτω από τον άλλο (μια σειρά αριθμών, πχ από το 1 ώς και το 10). Και οι 4 στήλες η μια δίπλα στην άλλη έχουν τους αριθμούς αυτούς κατά αύξουσα κατάταξη. Σε μια διπλανή στήλη θέλω να μου φτιάξει όλες τις πιθανές τετράδες που μπορούν να δημιουργήσουν οι αριθμοί αυτοί, δηλαδή να του λέω με τα συγκεκριμένα κελιά των 4 στηλών φτιάξε τους δυνδυασμούς και παράθεσέ τους μου στη συγκεκριμένη στήλη τον 1 κάτω από τον άλλο (συνδυασμό). Σαν να λέμε δηλαδή για παράδειγμα θέλω σε 1 δεδομένο κελί να μου παραθέτει τα περιεχόμενα του πρώτου κελιού (από τη στήλη με τους αριθμούς που του έδωσα) συνδυασμένους με το περιεχόμενο του δεύτερου του τρίτου και του τέταρτου, χωρισμένα μεταξύ τους με κάποιο σύμβολο δηλαδή στο παράδειγμά μας θα πρέπει να μου εμφανίσει: 1,2,3,4 Στο επόμενο κελί τα περιεχόμενα του πρώτου με το δεύτερο τρίτο και πέμπτο ας πούμε δηλαδή: 1,2,3,5 Και να συνεχίζει έτσι μέχρι που στη στήλη αυτή κάθε κελί να περιέχει 1 από όλους τους πιθανούς συνδυασμούς των 4άρων αρχικών στηλών που περιέχουν το σύνολο των αριθμών με τις προυποθέσεις α και β. Παραθέτω το εξής ώς υπόδειγμα του τι έχω σκεφτεί: http://www.contextures.com/xlCombine01.html Με τη μόνη διαφορά ότι εγώ θέλω να γίνεται τυχαία αυτός ο συνδυασμός με όλους τους πιθανούς τρόπους και λαμβάνοντας υπόψιν τους περιορισμούς που προαναφέρω! Σωστή σαν σκέψη? Έλα όμως που δεν ξέρω καμιά εντολή που να κάνει κάτι τέτοιο και εκεί είναι που θέλω τη βοήθειά σας. Η μόνη σχετική εντολή που ξέρω είναι η "combine" αλλά δυστυχώς σου βγάζει το ΠΛΗΘΟΣ των πιθανών συνδυασμών, δε σου παραθέτει ΠΟΙΟΙ είναι και επιπλέον δεν ξέρω πως να τη "μάθω" να λαμβάνει υπόψιν τους περιορισμούς α και β που παραθέτω παραπάνω. Αν κάποιος μπορεί να μου υποδείξει άλλο τρόπο για το ίδιο αποτέλεσμα ΜΑΚΑΡΙ, εγώ μια πρόχειρη σκέψη παραθέτω παραπάνω! Όποιος μπορεί, ξέρει και έχει τη διάθεση ας με βοηθήσει παιδιά σας παρακαλώ γιατί έχω φάει το κεφάλι μου 2 μέρες τώρα!
savabk Δημοσ. 8 Απριλίου 2008 Δημοσ. 8 Απριλίου 2008 Αν μας έλεγες και γιατί το τες αυτό, μήπως τα σου προτείναμε ευκολότερος τρόπος να το κάνης.
giorgis1987 Δημοσ. 8 Απριλίου 2008 Μέλος Δημοσ. 8 Απριλίου 2008 E, είναι αρκετά μεγάλη ιστορία και παίζει να κουράσει. Το θέμα είναι αν υπάρχει τρόπος να γίνει. Γιατί μέχρι να μου προτείνει κάποιος κάποιον ευκολότερο εκμεταλεύομαι τις ελάχιστες γνώσεις μου στο excel αλλά δε θα έλεγα ότι είναι πολύ αποδοτικές!
F1spa Δημοσ. 2 Οκτωβρίου 2009 Δημοσ. 2 Οκτωβρίου 2009 Για δες αυτό: http://esperia.iesl.forth.gr/~kafesaki/Applied-Mathematics/probabilities/p2/node4.html 1
adi32 Δημοσ. 22 Μαρτίου 2013 Δημοσ. 22 Μαρτίου 2013 Υπαρχει καποιο προγραμματακι που να το κανει αυτο ?
MindControl Δημοσ. 22 Μαρτίου 2013 Δημοσ. 22 Μαρτίου 2013 C(10,4). Είναι καθαρά άσκηση συνδυαστικής αυτό. Ο κώδικας θα πρέπει αναγκαστικά να γίνει με το χέρι ! αν και δεν βλέπω κάτι δύσκολο στο όλο ερώτημα !Το Λίνκ του παραπάνω συναδέλφου νομίζω σε καλύπτει αγαπητέ !MindControl.
Lanike71 Δημοσ. 24 Μαρτίου 2013 Δημοσ. 24 Μαρτίου 2013 (επεξεργασμένο) Δεν ξέρω αν σε βοηθά να το κάνεις με το χέρι αυτό που θα σου πω,γιατί δεν ξέρω πόσους συνδυασμούς έχεις,αλλά: Μία βοήθεια είναι η εξής: Αν έχεις συνθήκη ο επόμενος αριθμός να είναι μεγαλύτερος του προηγουμένου στην επιλογή,τότε αυτό το σετ είναι μοναδικό,άρα και δεν παίρνεις όλες τις περιπτώσεις του ίδιου σετ. Να εξηγήσω: Έστω παίρνω το σύνολο {1,2,3,4,5} και ψάχνω όλες τις δυάδες. Έχω (1,2),(1,3),(1,4),(1,5),(2,3),(2,4),(2,5),(3,4),(3,5),(4,5).Όπως βλέπεις κάθε επόμενος είναι μεγαλύτερος του προηγουμένου. Αν έψαχνα τριάδες θα είχα (1,2,3),(1,2,4),(1,2,5),...(3,4,5) δηλ. (1<2<3),(1<2<4) κλπ. Με μία απλή συνθήκη έβγαλα ότι έψαχνα. Κανονικά θα έπρεπε να βάλεις την ερώτηση στο υποφόρουμ του Προγραμματισμού,εκεί θα σε βοηθήσουν περισσότερο. Αν έχεις λίγο σχέση με προγραμματισμό,λίγες γραμμές κώδικα είναι,λίγο γκουγκλάροντας βρήκα πολλές σελίδες... https://www.google.gr/search?q=java+combinations+of+a+set&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a http://stackoverflow.com/questions/2599499/k-combinations-of-a-set-of-integers-in-ascending-size-order Ελπίζω να βοήθησα. Edit. Ένα απλοικό κώδικα έγραψα που δουλεύει.Τριπλό loop για επιλογή τριάδων από 10 αριθμούς. Τα πετάς όλα σε ένα txt και επικόλληση στο excel σου. public static void main(String[] args) { int count=0; for(int a=1;a<11;a++){ for(int b=a+1;b<11;b++){ for(int c=b+1;c<11;c++){ if(a<b && b<c){ System.out.println("("+a+","+b+","+c+")"); count++; } } } } System.out.println(count); } Επεξ/σία 24 Μαρτίου 2013 από Lanike71 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα