|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Senior Member
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
|
Quote:
Vallo a dire al professore Per una cosa del genere, la memoria dinamica era praticamente necessaria... La storia del vettore di vettori non mi piace... Invece, non si può stabilire a priori quanti eventi accadranno nello stesso secondo...putroppo l' unica costante fornita dai requisiti di progetto è quella MAX numero Eventi gestibili... ma gestibili dal calendario, non nello specifico istante.... CMQ siete grandi! grazie per l'aiuto....mi sembre un lavoretto interessante.. |
|
|
|
|
|
|
#22 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
Se gli eventi sono relativi a vari giorni della settimana, ti occorrerà un timestamp altrimenti ti basta un valore intero che ti riporti l'istante in cui l'evento deve scattare. L'ordinamento del vettore lo puoi fare con il QuickSort fornito nella libreria del C (ad esempio) |
|
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La libreria C fornisce il QuickSort ? Non lo sapevo...
Secondo me gli conviene implementare una lista all'interno del vettore... Tenere ordinato il vettore comporterebbe troppaperdita di tempo... Ma le cancellazioni possono avvenire solamente in testa e gli inserimenti solamente in coda ? Oppure ovunque ? |
|
|
|
|
|
#24 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Nella libc esiste una funzione qsort, ma è standard ? |
|
|
|
|
|
|
#26 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
Anche io credo che gli conviene puntare sulla lista all'interno del vettore (credo che tu intenda un vettore di vettori). Il problema della cancellazione e degli inserimenti non si pone, nel caso specifico; iunfatti, non potendo usare memoria dinamica, si deve solo premunire di valorizzare un campo della struttura EVENT con un valore booleano per dire che quell'evento è buono oppure no. |
|
|
|
|
|
|
#27 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
|
|
|
|
|
|
|
#28 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
|
gli eventi possono essere inseriti ovunque nel vettore...vi spiego meglio la storia:
altre persone stanno sviluppando un altro progetto che dovrà usare le mie funzioni.. loro faranno la parte "logica" (detta 'controller"), ovvero decideranno (in base a certi input) quando inserire un evento nel mio calendario. Quando vorranno inserire un evento, invocheranno la mia funzione InserisciEvento(struct evento ev) , passandomi la struttura evento già bella e preparata in tutti i suoi campi. i campi sono: 1- un ID evento 2- l' orario di scadenza dell' evento (timestamp in cui l'evento si verificherà) 3- Altri parametri di servizio (sono struct..) Da questo, capite bene che può accadere che si debba inserire un evento con timestamp posteriore all' evento di testa, ma anteriore all' evento di coda (perchè gli eventi sono temporalmente indipendenti)....ed ecco qua che gli inserimenti vanno fatti nel mezzo dell' array e vanno tenuti rigorosamente in ordine cronologico. Putroppo possono verificarsi eventi con lo stesso timestamp! vanno gestiti..... Questo per quanto riguarda l'inserimento. Ora, il 'controller' invocherà in un loop continuo la funzione EventoScaduto(), la quale tornerà 1 se c'è un' evento scaduto... anche questa funzione devo implementarla io.. per farla, ho bisogno che gli eventi siano ordinati cronologicamente nell' array, perchè io andrò a verificare sempre il timestamp dell' evento di testa e seguenti..in ordine.. Quando il controller andrà a trattare un evento scaduto, io posso toglierlo dal calendario con la EliminaEvento(). Devo farmi dire se il controller può rimuovere un Evento che sta in mezzo all' array, semplicemente perchè desidera toglierlo e non perchè sia scaduto... Vi faccio sapere, sperando che queste info vi facciano inquadrare meglio il problema.. ciao |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:28.



















