Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Commenti sull'esame del 15-01-2009


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 16 risposta/e

#1
v.pepe

v.pepe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 62 Messaggi:
Ragazzi mannaggia quella funzione di me**a forse facilissima ma nn l'ho fatta qualcuno che ha fatto l'esame mi può aiutare a capire come andava fatta?

la funzione di prelievo dalle tre code con la prob. al 50%,30%,20%

correlata anche a float numero_casuale();

ragazzi sto ingrippato ditemi come andava fatta; :(


Io non sono nessuno, ma mai nessuno sarà come ME!

#2
tanux

tanux

    Advanced Member

  • Utente
  • StellaStellaStella
  • 472 Messaggi:
dove è possibile trovare la prova che hai fatto?

#3
v.pepe

v.pepe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 62 Messaggi:
Ragazzi la traccia nn la tengo ancora cmq la funzione numero_casuale doveva generare un numero casuale tra 0 e 1.

float numero_casuale();

la funzione ritorna un float e fa uso della funzione rand() di C, però io dovevo genere i numeri casuali solo tra 0 e 1.
come faccio?

poi vi spiego anche l'altra funzione sulle code. aiutatemi prima in questo.
Io non sono nessuno, ma mai nessuno sarà come ME!

#4
orres21

orres21

    Advanced Member

  • Utente
  • StellaStellaStella
  • 270 Messaggi:
ciao non ne sono sicuro ma io ho fatto in questo modo:

float calcola(){
float a;
a=rand();
if((a>0)&&(a<1))
return a;
else
return calcola();
}


#5
orres21

orres21

    Advanced Member

  • Utente
  • StellaStellaStella
  • 270 Messaggi:
mentre quella del prelievo non ho capito come si doveva fare..qualcuno lo sa??

#6
orres21

orres21

    Advanced Member

  • Utente
  • StellaStellaStella
  • 270 Messaggi:
mentre quella del prelievo non ho capito come si doveva fare..qualcuno lo sa??

#7
v.pepe

v.pepe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 62 Messaggi:
non so se va bene perchè così ritorni o 0 o 1 invece dovrebbe ritornare un float e quindi 0 -0,1 -0,2.......-0,9-1.

e se riesco a fare questo c'è anche una spiegazione alla funzione di prelievo in quanto in prelievo si doveva fare uso della funzione numero_casuale().....
Io non sono nessuno, ma mai nessuno sarà come ME!

#8
v.pepe

v.pepe

    Advanced Member

  • Utente
  • StellaStellaStella
  • 62 Messaggi:
Peccato che queste idee mi vengono solo ora...allora se la funzione numero_casuale ritorna un numero da 0 a 1 quindi 0.1 ecc.. come ho detto prima, nella funzione prelievo si fa un controlla prima di prelevare, se la funzione random ha generato un numero da 0 a 0,4 considerando che è la metà(quindi 50%) allora si inserisce nella coda A mentre se genere numeri da 0.5 a 0.8 (quindi 30%) si preleva in B mentre da 0.9 a 1.0 quindi 20% si preleva da C....

ovviamente abbiamo tre intervalli che correlati alle probabilità di uscita dovrebbe andare bene perchè avremo maggiore probabilità che random ci dia un numero da 0-0.4(50%) probabilità minore da 0.5-0.8(30%) probabilità minima 0-0.9 (20%)

non so se mi sn spiegato ora implemento il codice e vi faccio sapere....
Io non sono nessuno, ma mai nessuno sarà come ME!

#9
pifmfe

pifmfe

    Admin

  • Amministratore
  • 1689 Messaggi:

cato che queste idee mi vengono solo ora...allora se la funzione numero_casuale ritorna un numero da 0 a 1 quindi 0.1 ecc.. come ho detto prima, nella funzione prelievo si fa un controlla prima di prelevare, se la funzione random ha generato un num

se vuoi il numero ad una cifra decimale

float calcola(){
float a;
a=rand()%10;
return a/10;
}
se il numero deve essere a 2 cifre decimali basta sostituire i 10 con 100

Non sono più uno studente, sono admin ad honorem, ma non gestisco più r0x. Per qualsiasi problema contattate un altro admin o la super associazione StudentIngegneria :)
 
Cerca nel forum prima di postare

Associazione StudentIngegneria

Ci sono cose che non si possono chiedere per tutto il resto c'è r0x
La vita è l'inseguimento di un buco.


#10
orres21

orres21

    Advanced Member

  • Utente
  • StellaStellaStella
  • 270 Messaggi:
allora la funzione che ho scritto in precedenza penso che è sbagliata perchè mi restituisce gli interi e non un float;

#11
zxzxasas

zxzxasas

    Advanced Member

  • Utente
  • StellaStellaStella
  • 789 Messaggi:
float numero_casuale(void){
float c;
c=rand(void);
c=c/32equalcosa;
return c;
}

l' altra funzione invece, consisteva solo nel verificare se c era [0;5[, [5,8[,[8,1];

Essenzialmente, la rand resistuisce un valore compreso tra 0 e maxqualcosa, dove maxqualcosa stava sul manuale alla funzione rand

quindi, facendo rand/maxqualcosa si trovava un numero random compreso tra 0 e 1.
Io mi chiedo chi ca**o me lo fa fare...

#12
zxzxasas

zxzxasas

    Advanced Member

  • Utente
  • StellaStellaStella
  • 789 Messaggi:
Giustamente, occorreva verificare la condizione di coda piena in ogni if!
Dimenticavo!
Io mi chiedo chi ca**o me lo fa fare...

#13
superhj

superhj

    Member

  • Utente
  • StellaStella
  • 29 Messaggi:
Grande Pasquale..Sentite ma con due funzioni sbagliate su 5 + il main fatto bene, che voto potrebbero mettere?
IL MONDO E' PICCOLO....

#14
zxzxasas

zxzxasas

    Advanced Member

  • Utente
  • StellaStellaStella
  • 789 Messaggi:
Eh già...chi lo sa.

Poi sbagliate e funzioni è dire tutto e niente...
Si dovrebbe vedere quanto sbagliate, come sbagliate, quali funzioni...per non poterti rispondere. Aspettiamo sti risultati...
Ma tu quali hai sbagliate?
Io ho fatto l' errore sull' isFull e qualche piccolo dettaglio sull' inserisci...

EDIT: non sull' isFull ma sulla conta elementi.
Io mi chiedo chi ca**o me lo fa fare...

#15
johnny88

johnny88

    Newbie

  • Utente
  • StellaStellaStella
  • 1109 Messaggi:
io l'ho fatta cosi:

float calcola(){
float n = rand();
return n/RAND_MAX;
}
in questo modo torna sicuramente un valore compreso tra 0 e 1 in quanto n sara sempre <= a RANDMAX e il loro rapporto, essendo n al numeratore, per forza compreso tra 0e1.
"Il vero aspetto di tutti i fenomeni può essere compreso e condiviso solo tra Budda. Questa realtà consiste di: aspetto, natura, entità, potere, azione, causa interna, relazione, effetto latente, retribuzione e della loro coerenza dall'inizio alla fine"

#16
superhj

superhj

    Member

  • Utente
  • StellaStella
  • 29 Messaggi:
quindi ti sei dichiarato la costante RAND_MAX?
IL MONDO E' PICCOLO....

#17
johnny88

johnny88

    Newbie

  • Utente
  • StellaStellaStella
  • 1109 Messaggi:
no, RAND_MAX è una costante predefinita del linguaggio, vedi manuale di C..poi nella traccia il prof ha specificato ke la funzione rand() restituisce un numnero compreso tra 0 e RAND_MAX. A mio parere questa traccia è stata prpr una beffa, avrei preferito 10mila volte alberi o liste o thash!!!!
"Il vero aspetto di tutti i fenomeni può essere compreso e condiviso solo tra Budda. Questa realtà consiste di: aspetto, natura, entità, potere, azione, causa interna, relazione, effetto latente, retribuzione e della loro coerenza dall'inizio alla fine"




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi