Oppure

Loading
06/11/14 15:19
blujeans
Ho bisogno di un aiuto con un algoritmo che non riesco a ascrivere/generalizzare.
In una casella di testo ( JTextParola ) l'utente inserisce una parola
In un altra casella di testo ( JTextColonne ) l'utente indica il numero di colonne.
Devo anagrammare le parole e mostrarle in una textarea nel modo che vi mostrerò.

Mi spiego con un esempio:

JTextParola -> VASO (4 lettere)
JTextColonne -> 2

righe totali = combinazione di 4 in 2

\|1|2|
1|V|A|
2|V|S|
3|V|O|
4|A|S|
5|A|O|
6|S|O|

JTextParola -> ABCDE (5 lettere)
JTextColonne -> 3

righe totali = combinazione di 5 in 3

\ |1|2|3|
1 |A|B|C|
2 |A|B|D|
3 |A|B|E|
4 |A|C|D|
5 |A|C|E|
6 |A|D|E|
7 |B|C|D|
8 |B|C|E|
9 |B|D|E|
10|C|D|E|
aaa
06/11/14 22:51
Roby94
è un semplice anagramma che non comprende tutte le lettere della parola; trasformi la parola in una matrice di caratteri e vai giu di combinazioni e man mano le inserisci nel texbox
0|0|0
0|0|1
0|0|2
ecc
sceglie te come impostare la logica delle combinazioni.
Puoi basare il calcolo della selezione delle lettere usando un conteggio di base n, dove n è il numero di lettere della parola data.
es
parola "bonsai" => 2 lettere per gli anagrammi
avrai una matrice di 6 caratteri
e potrai impostare la combinazione come un semplice numero di base 6

00 01 02 03 04 05 10 11 12 13 14 15 20 21 23 ... 55
aaa
09/11/14 13:28
blujeans
ma se io ho la stringa "abdce" e devo prendere 3 lettere alla volta ho un totale di 10 righe con le seguenti combinazioni

a = 0
b = 1
c = 2
d = 3
e = 4

012 -> abc
013 -> abd
014 -> abe
023 -> acd
024 -> ace
034 -> ade
123 -> bcd
124 -> bce
134 -> bde
234 -> cde

devo ottenere per forza le lettere in questa sequenza

se volessi prendere 4 lettere otterrei 1 riga

01234 -> abcde

se volessi prendere 1 lettera otterrei 4 riga

0 -> a
1 -> b
2 -> c
3 -> d
4 -> e

il numero di righe è dato dalla combinazione senza ripetizione del numero di lettere totali con il numero di lettere prese.
non so se mi sono spiegato
aaa