PDA

View Full Version : [c/c++] generare una matrice casuale - urgente!!


dooh33
16-04-2007, 16:02
Ciao, spero che qualcuno possa aiutarmi,

devo creare in c/c++ una funzione che generi una matrice random
composta in questo modo:

A[i,j] = 0 con probabilità 1-1/x
e 1 con probabilità 1/x

con x dato, e A[i,j] uguale all'elemento della riga i e colonna j.

grazie in anticipo a chiunque riesca ad aiutarmi.

ciao

andbin
16-04-2007, 16:27
Ciao, spero che qualcuno possa aiutarmi,

devo creare in c/c++ una funzione che generi una matrice random
composta in questo modo:

A[i,j] = 0 con probabilità 1-1/x
e 1 con probabilità 1/x

con x dato, e A[i,j] uguale all'elemento della riga i e colonna j.Sai già come generare numeri casuali in C/C++?? Vedi in questo (http://www.hwupgrade.it/forum/showthread.php?t=1330044) thread.

Per la questione delle probabilità richieste, è anche semplice. In pratica, se ho capito bene, il valore '1' ha 1 probabilità su x mentre il valore '0' ha il restante margine di probabilità.
Se generi un numero casuale tra 1 e x compresi, puoi ad esempio dire che se il valore è 1 allora metti '1', altrimenti è '0'.

dooh33
16-04-2007, 16:40
si, sò già come generare numeri casuali, il fatto è che sò poco o nulla di probabilità, comunque penso che possa andare bene la tua proposta, ora provo ad implementarlo.

ciao e grazie per l'aiuto

oNaSsIs
17-04-2007, 17:44
se provi a spiegarti meglio e magari accompagnare la spiegazione con un esempio posso provare ad aiutarti...

dooh33
17-04-2007, 20:07
grazie per l'interessamento ma ho fatto come diceva andbin e sembra funzionare, quindi ho risolto.

ciao e grazie ancora

@less@ndro
19-04-2010, 10:15
mi ritrovo quasi nelle stesse condizioni. :cry:

in c devo caricare una matrice 3x3 con valori random ma non ci riesco. :muro:

marco.r
19-04-2010, 11:16
Ciao, spero che qualcuno possa aiutarmi,

devo creare in c/c++ una funzione che generi una matrice random
composta in questo modo:

A[i,j] = 0 con probabilità 1-1/x
e 1 con probabilità 1/x

con x dato, e A[i,j] uguale all'elemento della riga i e colonna j.

grazie in anticipo a chiunque riesca ad aiutarmi.

ciao
Generi un numero casuale tra 0 e 1 , ed assegni 0 a A[i,j] se il numero e' maggiore di 1/x, assegni 1 invece quando il numero e' minore di 1/x

||ElChE||88
19-04-2010, 11:26
Generi un numero casuale tra 0 e 1 , ed assegni 0 a A[i,j] se il numero e' maggiore di 1/x, assegni 1 invece quando il numero e' minore di 1/x
Non credo gli interessi molto dopo 3 anni... :fagiano:
mi ritrovo quasi nelle stesse condizioni. :cry:

in c devo caricare una matrice 3x3 con valori random ma non ci riesco. :muro:
Qual'è il problema?
Creare la matrice? Assegnare i valori random? Generare i valori random?
Prova a postare il codice che hai.

marco.r
19-04-2010, 11:36
Non credo gli interessi molto dopo 3 anni... :fagiano:

Argh, non avevo visto la data del primo messaggio... :muro:

@less@ndro
19-04-2010, 15:19
Non credo gli interessi molto dopo 3 anni... :fagiano:

Qual'è il problema?
Creare la matrice? Assegnare i valori random? Generare i valori random?
Prova a postare il codice che hai.

ce l'ho fatta alla fine, avevo messo un solo ciclo for al posto di 2. :D