Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-09-2008, 11:22   #1
Davix12
Junior Member
 
Iscritto dal: May 2008
Messaggi: 27
[Qualsiasi] Pseudo-codice per associazioni combinatorie

Salve a tutti,
sapreste essermi d'aiuto per questo mio problema? Ho un vettore V di N elementi e vorrei assegnare a 3 variabili (a,b,c) tutte le combinazioni semplici di valori.
ESEMPIO: da questo vettore: N=5 [9,3,1,7,4] arrivare a tutte le 10 combinazioni semplici (ordine non importante, niente doppioni) possibili a,b,c= (V[1],V[2],V[3]; V[1],V[2],V[4]; ......)


avevo pensato ad una roba semplice del genere:
Codice:
for p=1 to N {
    for q=2 to N {
         for r=3 to N {
              a=V[p]
              b=V[q]
              c=V[r]
         } 
     } 
}
ma ovviamente è sbagliato perchè verrebbe fuori anche la combinazione a,b,c=(V[1],V[3],V[3]) che ripete 2 elementi


Avete qualche idea? Lo devo scrivere in Matlab, ma mi basta sapere come impostare l'algoritmo.
Davix12 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 11:58   #2
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
ma quest'algoritmo deve funzionare solo a triplette???oppure vuoi combinazioni (N,K) con K generico? (oltre che N)
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 12:17   #3
Davix12
Junior Member
 
Iscritto dal: May 2008
Messaggi: 27
No, solo a triplette.

Tutte le triplette possibili senza ripetizioni e senza considerare l'ordine. a,b,c=(1,2,3) da considerare uguale a a,b,c=(2,3,1) quindi basta solo una di queste 2 combinazioni

Ad esempio se V=[1,2,3,4,5] ci sono 10 combinazioni con questi requisiti: abc=(1,2,3; 1,2,4; 1,2,5; 1,3,4; 1,3,5; 1,4,5; 2,3,4; 2,3,5; 2,4,5; 3,4,5) oppure sempre queste triplette con i singoli elementi in diverso ordine...

Ultima modifica di Davix12 : 19-09-2008 alle 12:22.
Davix12 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 13:23   #4
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Quote:
Originariamente inviato da Davix12
avevo pensato ad una roba semplice del genere:
Codice:
for p=1 to N {
    for q=2 to N {
         for r=3 to N {
              a=V[p]
              b=V[q]
              c=V[r]
         } 
     } 
}
ma ovviamente è sbagliato perchè verrebbe fuori anche la combinazione a,b,c=(V[1],V[3],V[3]) che ripete 2 elementi
basta che controlli che gli indici non siano uguali e sei a posto:

Codice:
for(int i = 0; i < array.length; i++) {
    for(int j = 0; j != i && j < array.length; j++) {
        for(int k = 0; k != j && k != i && k < array.length; k++) {
            System.out.println(array[i] + " " + array[j] + " " +array[k]);
        }
    }
}
il codice è java, per Matlab non dovrebbe essere un problema, togli la stampa a video e se non sbaglio devi far partire gli indici degli array da 1.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 15:24   #5
Davix12
Junior Member
 
Iscritto dal: May 2008
Messaggi: 27
Quote:
Originariamente inviato da Oceans11 Guarda i messaggi
basta che controlli che gli indici non siano uguali e sei a posto:

Codice:
for(int i = 0; i < array.length; i++) {
    for(int j = 0; j != i && j < array.length; j++) {
        for(int k = 0; k != j && k != i && k < array.length; k++) {
            System.out.println(array[i] + " " + array[j] + " " +array[k]);
        }
    }
}
il codice è java, per Matlab non dovrebbe essere un problema, togli la stampa a video e se non sbaglio devi far partire gli indici degli array da 1.
Ma così vengono ripetute alcune triplette solo con ordine invertito, no? Tipo mi da la tripletta con i,j,k=(1,3,5) e quella con i,j,k=(1,5,3). Invece io non vorrei triplette ripetute (anche se con ordine degli elementi divero)
Davix12 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 15:46   #6
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
no no, escono le combinazioni semplici, senza ripetizioni.


questo è l'output di una array fatto così {1, 2, 3, 4, 5}:

Codice:
3 2 1
4 2 1
4 3 1
4 3 2
5 2 1
5 3 1
5 3 2
5 4 1
5 4 2
5 4 3
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"

Ultima modifica di Oceans11 : 19-09-2008 alle 15:47. Motivo: aggiunta output
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 16:28   #7
Davix12
Junior Member
 
Iscritto dal: May 2008
Messaggi: 27
Hai ragione, grazie mille!!!

Sbagliavo a riportarla in matlab

Grazie ancora!
Davix12 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 16:30   #8
Oceans11
Senior Member
 
L'Avatar di Oceans11
 
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
Di niente...tra l'altro con tutti gli svarioni che sto facendo oggi, ci poteva stare che avessi sbagliato! infatti sono andato subito a controllare che mi aveva preso un colpo
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes]
"Pirating software? Choose Microsoft!"
Oceans11 è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2008, 16:43   #9
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Questa è la mia versione, in C:

Codice:
#include <stdio.h>

int main()
{
	int k, x, y;
	int a, b, c;

	unsigned int DimArray;
	unsigned int numeri[5];

	DimArray = (sizeof(numeri) / sizeof(numeri[0]));

	numeri[0] = 1;
	numeri[1] = 2;
	numeri[2] = 3;
	numeri[3] = 4;
	numeri[4] = 5;

	k = 0;

	printf("\n");

	while ( k < DimArray - 2 )
	{
		a = numeri[k];

		x = k + 1;
		while ( x < DimArray - 1 )
		{
			b = numeri[x];

			y = x + 1;
			while ( y < DimArray )
			{
				c = numeri[y];	

				printf("%d %d %d\n", a, b, c);

				y++;
			}
			x++;
		}
		k++;
	}

	printf("\n");

	return 0;
}
Questo è il risultato su un array inizializzato con i valori 1 2 3 4 5:
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
Samsung Health si aggiorna: il coaching ...
XBOX Nano Controller: il nuovo gamepad c...
MSI diversifica il suo business: con EVS...
AirPods Pro 3 crollano a 199€ su Amazon:...
Epic Games Store: il nuovo launcher per ...
LG Mini RGB 55 pollici crolla a 587,99€:...
TSMC macina profitti grazie all'IA: il f...
MacBook Pro con chip M5 Pro e Max, 3 mod...
Xiaomi distrugge l'ansia da batteria e v...
La Commissione europea vuole usare l'IA ...
Mythos di Anthropic mette in allarme le ...
ChatGPT fa male ai giovani? Otto Stati U...
Lo smartphone con Android, Windows e Lin...
I filtri anti-spoofing non bastano: l'al...
Starship: SpaceX potrebbe tentare di rec...
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: 09:15.


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