Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-12-2004, 16:49   #1
supertonno
Senior Member
 
L'Avatar di supertonno
 
Iscritto dal: Aug 2003
Città: Rimini
Messaggi: 422
Permutazioni Casuali

Ciao a tutti.
Avrei bisogno di aiuto nel creare delle permuazioni casuali di numeri da 1 a N.
Per esempio 4 permutazioni a caso di una serie di numeri da 1 a 10.
Qualcuno ha in mente come fare senza generarle tutte e po prenderle a caso?

Grazie
supertonno è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:12   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Linguaggio ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:14   #3
supertonno
Senior Member
 
L'Avatar di supertonno
 
Iscritto dal: Aug 2003
Città: Rimini
Messaggi: 422
va benissimo C o C++
supertonno è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:15   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <memory.h>


/* estrazione senza reimbussolamento di m elementi
su una popolazione di n elementi */
int vettore_casuale(int *v, int m, int n)
{
   char *v2;
   int i, j;
   if(m > n)
      return 1;
   v2 = malloc(sizeof(char)*n);
   memset(v2, 0, sizeof(char)*n);
   for(i=0; i<m; i++)
   {
      v[i] = rand()%(n-i) + 1;
      j = 0;
      while(v[i] > 0 )
      {
         if(v2[j++] == 0)
            v[i]--; 
      }
      v2[j-1] = 1;
      v[i] = j;
   }
   free(v2);
   return 0;
} 

#define M	10
#define N	10

int main()
{
	int v[M], i;
	srand((unsigned)time(NULL));
	
	vettore_casuale(v, M, N);
	for(i=0; i<M; ++i)
		printf("%4d", v[i]);
	printf("\n");
	vettore_casuale(v, M, N);
	for(i=0; i<M; ++i)
		printf("%4d", v[i]);
	printf("\n");
	vettore_casuale(v, M, N);
	for(i=0; i<M; ++i)
		printf("%4d", v[i]);
	printf("\n");
	getchar();
	return 0;
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:16   #5
supertonno
Senior Member
 
L'Avatar di supertonno
 
Iscritto dal: Aug 2003
Città: Rimini
Messaggi: 422
Grazie Mille, ora lo provo
supertonno è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:21   #6
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Questa è l'implementazione di un noto algoritmo, inventato da non ricordo chi, per generare una permutazione di n elementi con complessità lineare:

Codice:
#include <stdlib.h>


void swap(int *a, int *b){
	int temp = *a;
	*a = *b;
	*b = temp;
}


int * perm(unsigned int n){
	int *vect = (int *)malloc(n * sizeof(int));
	int i;
	for(i = 0; i < n; i++)
		vect[i] = i;
	for (i = n-1;i >= 0;i--)
	swap(&vect[i],&vect[(int) ((rand()/(1.0 + RAND_MAX)) * (i+1))]);
	return vect;
}
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals

Ultima modifica di anx721 : 23-12-2004 alle 17:23.
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:23   #7
supertonno
Senior Member
 
L'Avatar di supertonno
 
Iscritto dal: Aug 2003
Città: Rimini
Messaggi: 422
Quote:
Originariamente inviato da anx721
Codice:
#include <stdlib.h>


void swap(int *a, int *b){
	int temp = *a;
	*a = *b;
	*b = temp;
}


int * perm(unsigned int n){
	int *vect = (int *)malloc(n * sizeof(int));
	int i;
	for(i = 0; i < n; i++)
		vect[i] = i;
	for (i = n-1;i >= 0;i--)
	swap(&vect[i],&vect[(int) ((rand()/(1.0 + RAND_MAX)) * (i+1))]);
	return vect;
}

Lo stavo proprio implementando cosi, con swap casuali...
Ora li provo tutte e due vedo quello che ha prestazioni migliori
supertonno è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:24   #8
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
la "mia" credo sia piu efficiente
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:35   #9
atidem
Senior Member
 
L'Avatar di atidem
 
Iscritto dal: Oct 2004
Messaggi: 752
Quote:
Originariamente inviato da anx721
Questa è l'implementazione di un noto algoritmo, inventato da non ricordo chi, per generare una permutazione di n elementi con complessità lineare:

Codice:
#include <stdlib.h>


void swap(int *a, int *b){
	int temp = *a;
	*a = *b;
	*b = temp;
}


int * perm(unsigned int n){
	int *vect = (int *)malloc(n * sizeof(int));
	int i;
	for(i = 0; i < n; i++)
		vect[i] = i;
	for (i = n-1;i >= 0;i--)
	swap(&vect[i],&vect[(int) ((rand()/(1.0 + RAND_MAX)) * (i+1))]);
	return vect;
}

Standard shuffling algorithm
Seminumerical Algorithms (Vol. 2 of "The Art of Computer Programming")

Codice:
 

for (i=0; i<N; i++)
 a[i] = i;
for (j=N-1; j>0; j--) {
 i = choose(0,j); /* Generatore di numeri casuale */
 t = a[i];
 a[i] = a[j];
 a[j] = t;
}

Ultima modifica di atidem : 23-12-2004 alle 17:41.
atidem è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:40   #10
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Quote:
Originariamente inviato da atidem
Standard shuffling algorithm
Seminumerical Algorithms (Vol. 2 of "The Art of Computer Programming")

ok, ma se non ricordo l'ha inventato un pezzo grosso tipo knut o qualkunaltro...
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:42   #11
atidem
Senior Member
 
L'Avatar di atidem
 
Iscritto dal: Oct 2004
Messaggi: 752
Quote:
Originariamente inviato da anx721
ok, ma se non ricordo l'ha inventato un pezzo grosso tipo knut o qualkunaltro...
Knuth
http://www-cs-faculty.stanford.edu/~knuth/index.html

Ultima modifica di atidem : 23-12-2004 alle 17:45.
atidem è offline   Rispondi citando il messaggio o parte di esso
Old 23-12-2004, 17:46   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da anx721
la "mia" credo sia piu efficiente
Decisamente...anche perchè quello sopra era fatto per risolvere altri problemi...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
RTX 5090, basta connettori a 16 pin che ...
CXMT contro il Pentagono per la designaz...
DLSS 5 arriva anche sulle GeForce RTX 30...
La NASA ha lanciato il nuovo Nancy Grace...
22 offerte Amazon da non perdere, dalla ...
Bose QuietComfort Earbuds a 129,95€: ANC...
L'unico con tante scorte, non fatevi sca...
Torna il super doppio sconto sulle e-bik...
Offerte Amazon componenti PC: RTX 5060 T...
Crucial Pro DDR5 da 32GB a 389,99€: perc...
Fable 5, il modello più potente d...
PC all-in-one Lenovo super elegante, per...
Lo Smart TV più venduto su Amazon...
Periferiche gaming in offerta su Amazon:...
L'IA non è una bolla, ma pu&ograv...
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: 05:25.


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