Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-08-2009, 22:23   #1
peter2
Senior Member
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
[qualsiasi] permutazioni

non so se sia la sezione giusta ma mi trovo a dover scrivere un codicillo per fare quanto segue:

data una matrice rettangolare (per esempio 2x3):

A=
[ a b c ]
[ d e f ]

come faccio a ottenere tutte le coppie:

ad
ae
af

bd
be
bf

cd
ce
cf

per una matrice con 2x3 è semplice ma con una NxM?

qualcuno ha qualche idea?
__________________
peter
peter2 è offline   Rispondi citando il messaggio o parte di esso
Old 21-08-2009, 23:25   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Fai una ricerca per "factoradic" e "combinadic". Li ho usati una volta per insegnare al PC a giocare a scarabeo, prima che mi venisse in mente che la HASBRO avrebbe potuto non essere così contenta se avessi distribuito uno scrabble... Poi ho dimenticato tutto ma non sono difficili da implementare e usare.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 21-08-2009, 23:33   #3
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
dipende anche che regola vuoi seguire per determinare le coppie ...per esempio con una matrice 3x6 le coppie come le vorresti?.... perchè forse ti basta qualche ciclo for annidato
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 22-08-2009, 21:16   #4
peter2
Senior Member
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
A=
[ a b c d e f ]
[ g h i l m n]
[ o p q r s t]

vorrei le triplette:

ago
agp
agq
agr
ags
agt

aho
ahp
ahq
ahr
ahs
aht

aio
aip
aiq
air
ais
ait

ago
agp
agq
agr
ags
agt

insomma avete capito...

l'ultimo gruppo sarà:

fno
fnp
fnq
fnr
fns
fnt

se N è il numero di righe e M il num di colonne, il numero di triplette che devono venir fuori è M^N
__________________
peter
peter2 è offline   Rispondi citando il messaggio o parte di esso
Old 22-08-2009, 21:21   #5
peter2
Senior Member
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Fai una ricerca per "factoradic" e "combinadic". Li ho usati una volta per insegnare al PC a giocare a scarabeo, prima che mi venisse in mente che la HASBRO avrebbe potuto non essere così contenta se avessi distribuito uno scrabble... Poi ho dimenticato tutto ma non sono difficili da implementare e usare.
non capisco che cosa c'entrino con il mio caso? mi illumini?
__________________
peter
peter2 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2009, 09:30   #6
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12966
Giusto per dare un suggerimento, il tutto si dovrebbe poter risolvere con una funzione ricorsiva con dentro un while... .
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2009, 11:09   #7
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
Quote:
Originariamente inviato da peter2 Guarda i messaggi
A=
[ a b c d e f ]
[ g h i l m n]
[ o p q r s t]

vorrei le triplette:

ago
agp
agq
agr
ags
agt

aho
ahp
ahq
ahr
ahs
aht

aio
aip
aiq
air
ais
ait

ago
agp
agq
agr
ags
agt

insomma avete capito...

l'ultimo gruppo sarà:

fno
fnp
fnq
fnr
fns
fnt

se N è il numero di righe e M il num di colonne, il numero di triplette che devono venir fuori è M^N
penso di aver capito ...anche se però la domanda era malpesta dal principio perchè queste non sono coppie; quindi se avessi una matrice 4x6 le "coppie" che intendi sarebbero lunghe 4 caratteri?
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2009, 12:01   #8
peter2
Senior Member
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
Quote:
Originariamente inviato da Frank1962 Guarda i messaggi
penso di aver capito ...anche se però la domanda era malpesta dal principio perchè queste non sono coppie; quindi se avessi una matrice 4x6 le "coppie" che intendi sarebbero lunghe 4 caratteri?
si, scusate... i vettori che devo tirar fuori hanno la lunghezza pari al numero di righe...
__________________
peter
peter2 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2009, 12:04   #9
peter2
Senior Member
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Giusto per dare un suggerimento, il tutto si dovrebbe poter risolvere con una funzione ricorsiva con dentro un while... .
esatto...ci avevo pensato anche io: se la matrice avesse dimensione fissa basterebbero N cicli annidati (N=num righe), ma la dimensione è nota solo a run-time quindi deve esserci una funzione che si chiama da sola....il problema è che non so come.
__________________
peter
peter2 è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2009, 13:41   #10
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Li ho usati una volta per insegnare al PC a giocare a scarabeo, prima che mi venisse in mente che la HASBRO avrebbe potuto non essere così contenta se avessi distribuito uno scrabble...
ti sei dato una pena inutile, lo Scarabeo italiano non é della Hasbro, é della EG
e comunque che razza di ragionamenti sono? ora é vietato fare concorrenza? a Torvalds doveva venire in mente che la Microsoft non sarebbe stata cosi contenta se lui avesse distribuito un suo sistema operativo?

ehm... in effetti forse si, gli doveva venire in mente
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2009, 22:36   #11
Frank1962
Senior Member
 
L'Avatar di Frank1962
 
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
Quote:
Originariamente inviato da peter2 Guarda i messaggi
si, scusate... i vettori che devo tirar fuori hanno la lunghezza pari al numero di righe...
uhm ok ....allora vedi se questo ti può andare bene:

Codice:
public static void main(String[] args) {
        char[][] a = {
		{'a','b','c','d','e','f'},
		{'g','h','i','l','m','n'},
		{'o','p','q','r','s','t'}
	};
		
	int righe = 3;
	int caratteri = 6;

	for(int i=0;i<(int)Math.pow(caratteri,righe);i++) {
		int[] v = integerToDecimalArray(decimalToAnotherBase(i,caratteri),righe);
		for(int e=0;e<a.length;e++) {
			System.out.print(a[e][v[e]]);
		}
		System.out.println();
		}
	}
}

private static int decimalToAnotherBase(int v,int b) {
	if(v==0)
		return 0;
		
	StringBuffer sb = new StringBuffer();
	int rest = -1;
	while(v!=0) {
		rest = v%b;
		sb.append(rest);
		v = v/b;
	}
	return Integer.valueOf(sb.reverse().toString());
}

private static int[] integerToDecimalArray(int v,int l) {
	String s = String.valueOf(v);
	char[] c = s.toCharArray();
	int[] array = new int[l];
	for(int i=0;i<c.length;i++) {
		String aux = new String(""+c[c.length-1-i]);
		array[array.length-1-i] = Integer.valueOf(aux);
	}
	return array;
}
nessuna ricorsione ...ho usato solo un array di indice in base N, dove N e il numero di caratteri per ogni riga della tua matrice; spero ti sia utile ...
__________________
----------------------------------------------
File reality.sys corrupted, Reboot Universe? Y/N
----------------------------------------------
Frank1962 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
Russia offline: blackout internet mobile...
Gemini, Google investe 30 milioni per la...
Roborock Qrevo Edge S5A: 17.000 Pa, acqu...
Resa pubblica la foto della ''Terra che ...
Il robot che ha piegato 200 scatole di f...
SteelSeries Aerox 3 Wireless Gen 2: nuov...
"Quasi sociopatico": Sam Altma...
Star Wars Eclipse in difficoltà: ...
Gestione del team e romance organiche: l...
Intel lancia Core Ultra X9 378H: hardwar...
Tomodachi Life non supporterà Handheld M...
Identificati i boss di REvil e GandCrab:...
Google Chrome 148 introduce il caricamen...
Tomb Raider: Legacy of Atlantis, l'uscit...
Casa Bianca: proposto un budget ridotto ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v