PDA

Visualizza la versione completa : [C] tutte le possibili combinazioni


pb2574
17-01-2005, 14:19
ciao a tutti ho un problema con la tesi che che cerchero' di esporvi nel modo piu' chiaro possibile.
considero una matrice 9x9;divido tale matrice in 9 sottoblocchi di dimensione 3x3 del tipo A11 A12 A13 A21.....A33
i blocchi A13 e A31 sono formati da soli zero(ho queste due matrici con tutti zero)
le restanti 7 matrici sono date ognuna dalla permutazione della matrice identita' 3x3(quindi in ogni blocco ho 6 possibili configurazioni visto che le possibili permutazioni di una matrice identtita' 3x3 sono 6)
devo trovare tutte le possibili soluzioni della matrice 9x9 e stamparle tutte a video(se non ho sbagliato i calcoli dovrebbero essere 6^7!!)
grazie

pb2574
17-01-2005, 17:00
ah dimenticavo...il programma deve essere scritto in c

unomichisiada
18-01-2005, 00:13
Si va bene aiuto però tu stai chiedendo di fartelo senza il minimo sforzo da parte tua,e questo non mi garba :nonono: ,io sono disposto a cimentarmi CON te...Come hai pensato di affrontare il problema?Esponi esponi...

pb2574
18-01-2005, 01:05
non so come collegare la permutazione di un blocco con una delle 6 possibili configurazioni trovate permutando un altro blocco..e questo lo farei per tutti i sottoblocchi..che dici?

unomichisiada
19-01-2005, 00:54
Aspetta aspetta..non mi è ben chiaro lo scenario.Allora se ho capito tu devi costruire 6 matrici 9x9,ognuna scomponibile in 9 sottomatrici 3x3 di cui due (A13 e A31 in basso a sinistra ed in alto a destra) matrici di tutti zeri e le altre matrici (tutte uguali all'interno della stessa matrice 9x9)costituite da una delle sei possibili permutazioni di un'identità 3x3,giusto?In altre parole per costruire una delle matrici 9x9 ti scegli una delle sei permutazioni dell'identità 3x3 e poi la ripeti sette volte nelle posizioni diverse da A13 e A31 dove invece metti matrici nulle,se non è così dillo.Poi di ogni matrice 9x9 devi trovare tutte le soluzioni?Cosa significa?Si possono trovare le soluzioni di un sistema di equazioni con una certa matrice dei coefficienti ma non le soluzioni di una matrice.Ti devi spiegare meglio

pb2574
19-01-2005, 02:35
devo costruire tante(e non 6!!)matrici 9x9 (tutte diverse) suddivise in sottoblocchi 3x3 di cui quello in alto a dx e in basso a sx sono conposti da 9 zeri(3x3).
considera i risultati delle 6 permutazioni della matrice identita' come s1 s2 s3...s6 (ogni soluzione e' una matrice 3x3)
nei restanti 7 sottoblocchi diversi dalla matrice nulla posso avere per esempio:

s1 s1 0 s1 s1 0 s1 s1 0 s4 s6 0
s1 s1 s1 s1 s1 s1 s1 s1 s2 s3 s2 s5
0 s1 s1 0 s1 s2 0 s1 s3 0 s1 s4

...e via dicendo

praticamente pensavo cosi' per trovare le prime 6 soluzioni
- considero i blocchi a11 a12 a21 a22 a23 a32 conteneti una delle 6 soluzioni(x es. la matrice identita') e poi faccio scorrere in a33 tutte le 6 possibili soluzioni(una alla volta ovviamente!!)
...e ho ottenuto 6 diverse matrici 9x9 ok?

poi ripeto...
-considero a11 a12 a21 a22 a23 e a33 come matrici identita' e poi faccio scorrere in a23 tutte le 6 soluzioni

...e cosi' via x tutte le permutazioni
chiaro?spero di essermi spiegato bene stavolta

pb2574
19-01-2005, 02:37
le 3 righe dell'esempio sono 4 esempi di possibili matrici 3x3...nn pensavo che me le scrivesse tutte attaccate...immagina uno spazio virtuale tra queste x capire meglio!!

unomichisiada
19-01-2005, 03:01
Si ora credo di aver capito cosa devi fare.Quindi per "soluzioni" (non è che sia un termine appropriatissimo...) intendi le matrici 9x9 chwe devi costruire?In sostanza date le sei matrici s1,...s6 che costituiscono le permutazioni dell'identità 3x3,devi costruire tutte le possibili matrici 9x9 usando due matrici 3x3 nulle in alto a destra e in basso a sinistra e variando le altre sette posizioni in tutti i modi possibili con quelle sei matrici.Quindi quello che hai pensato è di procedere in ordine lasciando prima fisse le prime sei alla matrice identità e variando l'ultima con tutte le sei possibilità,poi lasciando sempre fisse quelle sei ma scegliendo un'altra delle sei permutazioni e variando nuovamente l'ultima in tutti i sei modi,poi ripetendo il ciclo lasciando fisse le prime cinque e variando le altre,e così via...ho capito bene?
Se si non è uno scherzo perchè c'è un'esplosione del numero di combinazioni notevole,ci devo pensare.Se mi viene in mente qualcosa posto immediatamente

pb2574
19-01-2005, 13:23
esatto!!lo so che non e' uno scherzo e per uno che non ha mai programmato tanto e che ha veramente poco tempo a disposizione e' abbastanza drammatica la situazione...

unomichisiada
19-01-2005, 14:04
Anche io ho veramente poco tempo,comunque per quel che posso proverò ad aiutarti.Una curiosità in che quadro si inserisce un simile problema?In altre parole come mai devi risolvere un poblema tanto strano?A che ti serve?In altre parole ti sto cheidendo se è parte della soluzione di un problema più grande o inserito nel contesto di un'altra materia o se è un problema di programmazione puroe semplice che ti è stato assegnato.


Altra cosa:dato che le matrici risultanti saranno in un numero spropositatamente grande come conti di visualizzarle?A una a una premendo un tasto,a dieci a dieci,come?Perchè stamparle tutte assieme è impensabile oltre che inutile perchè il buffer della console è limitato.

Loading