TheRammer Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Έχω ενα array ( πχ. { 12,43,11,45,14,54,65 } ) και θελω να φτιαξω ενα loop που το χωρίζει στα 3 αλλά με κάθε δυνατή περιπτωση . πχ : "12 43 11 45 14 54 65" ή "12 43 11 45 14 54 65 " ή "12 43 11 45 14 54 65" . σε περίπτωση που αναρωριεσται δεν είναι homework είναι απο ενα πρόβλημα που προσπαθω να λύσω οποτε δεν θέλω τέτοια comments . thanks in advance
Technology fan Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Έχω ενα array ( πχ. { 12,43,11,45,14,54,65 } ) και θελω να φτιαξω ενα loop που το χωρίζει στα 3 αλλά με κάθε δυνατή περιπτωση . πχ : "12 43 11 45 14 54 65" ή "12 43 11 45 14 54 65 " ή "12 43 11 45 14 54 65" . σε περίπτωση που αναρωριεσται δεν είναι homework είναι απο ενα πρόβλημα που προσπαθω να λύσω οποτε δεν θέλω τέτοια comments . thanks in advance Δε μπορώ να καταλάβω το χώρισμα, δώσε κάποιο καλύτερο παράδειγμα, ποιες περιπτώσεις εννοείς? 2
jimisvog Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Και εγω βλέπω 3 dublicates του αρχικου πινακα. Ποιες θεωρείς δυνατές περιπτώσεις;
Moderators Kercyn Δημοσ. 12 Μαρτίου 2015 Moderators Δημοσ. 12 Μαρτίου 2015 Και τα 3 παραδείγματα που έδωσες είναι ίδια.
zynif Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Μάλλον εννοεί ότι θέλει να φτιάξει όλα τα δυνατά μη επικαλυπτόμενα υποσύνολα του πίνακα
TheRammer Δημοσ. 12 Μαρτίου 2015 Μέλος Δημοσ. 12 Μαρτίου 2015 Θέλω να χωρισω ενα array σε 3 όχι απαραίτητα ισα κομματια η υπο array αλλά θέλω να τα χωρισω με όλες τις δυνατές περιπτώσεις δηλαδή στη μια περιπτωση το ενα κομματι είναι μεγαλύτερο απο τα αλλά το άλλο μικροτερο , στην αλλη το αντιθετο κτλ . θέλω ας πούμε να κάνω print όλα αυτά τα υποσύνολα
Technology fan Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Εγώ πάλι πιστεύω οτι τα έβαλε σωστά, απλά ξέχασε να τοποθετήσει της παρανθέσεις, ωστε να τα χωρίσει σε 3 υποσύνολα. Δηλαδή κάτι σαν μη επικαλυπτόμενα υποσύνολα αλλά να κρατιέται η σειρά: οπότε here is my pseudocode, (matlab, c, script, οτι να ναι όπως μου έρχονται) A=[1,12,3,12,3,12,31,3,123,13,1] N = getArrayLength() Allcombinations // double array N_comb=0 for i=1….N for j=1….N-i k=N-i-j if (k>0) N_comb++ Allcombinations(N_comb,1)=A(1:i) Allcombinations(N_comb,2)=A(i+1:j+i) Allcombinations(N_comb,3)=A(i+j+1:N) fi end end damn άτυχος...
albNik Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Εννοεις subsets {a,b,c,d}=> a, b, c, d, ab, ac, bc, ad, abc ... ή partitions {a,b,c,d}=>{a b c d}, {ad bc} {ac bd} {ab, cd} {abc d} {a bc d} ...
Technology fan Δημοσ. 12 Μαρτίου 2015 Δημοσ. 12 Μαρτίου 2015 Λοιπόν η λύση που παραθέτω δίνει λύση στο εξής πρόβλημα: Βρες όλα τα δυνατά 3 υποσύνολα ενός συνόλου. Δεν πρέπει να είναι και πολύ αποδοτική λύση αλλά και το ίδιο το πρόβλημα δεν ενδύκνειται για την αποδοτικότητα του. Η λογική που μου έρχεται είναι η εξής: για λόγους ευκολίας θα υποθέσω οτι το μέγεθος του Α είναι 8 F=boolean(2^8,size(A)) S=boolean(2^8,size(A)) T=boolean(2^8,size(A)) φτιάξε όλους τους δυνατούς συνδυασμούς πινάκων boolean. δηλαδή 0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,1 0,0,0,0,0,0,1,0 . . . 1,1,1,1,1,1,1,1 σύνολο 2^8 οπότε έχεις τρία τέτοια. F,S,T for i=1:2^8 for j=1:2^8 for k=1:2^8 if (sum(F(i,)>0)&&(sum(S(j,)>0)&&(sum(T(k,)>0)&&(sum(F(i,+sum(S(j,+sum(T(k,==8) print A(F(i,) , A(S(j,) , A(T(k,) end end end end Δεν φαίνεται καλά ο έλεγχος if (sum(F(i,)>0)&&(sum(S(j,)>0)&&(sum(T(k,)>0)&&(sum(F(i,+sum(S(j,+sum(T(k,==8) Ξέρω οτι παράγω πολλές περιπτώσεις που δεν θα μπουν καν στο if, αν μπορεί κάποιος να το βρει με πιο μεθοδικό τρόπο θα χαρώ πολύ να μάθω.
nikolaos_ Δημοσ. 15 Μαρτίου 2015 Δημοσ. 15 Μαρτίου 2015 Έχω ενα array ( πχ. { 12,43,11,45,14,54,65 } ) και θελω να φτιαξω ενα loop που το χωρίζει στα 3 αλλά με κάθε δυνατή περιπτωση . πχ : "12 43 11 45 14 54 65" ή "12 43 11 45 14 54 65 " ή "12 43 11 45 14 54 65" . σε περίπτωση που αναρωριεσται δεν είναι homework είναι απο ενα πρόβλημα που προσπαθω να λύσω οποτε δεν θέλω τέτοια comments . thanks in advance Αν έχεις array, τότε τα στοιχεία του έχουν μια σειρά, δηλαδή θα είναι διατεταγμένα, [ a[0], a[1], ..., a[n] ] (πλήθος n+1). Οπότε για να διακρίνεις 3 κομμάτια, θες δυο δείκτες p, q με 0<p<q<n που θα δείχνουν τα τελευταία στοιχεία του κάθε κομματιού: κομμάτι 1: [ a[0], ..., a[p] ], κομμάτι 2: [ a[p+1], ..., a[q] ], κομμάτι 3: [ a[q+1], ..., a[n] ]
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα