Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=259)
-- [RAPACIOLI] programma esame (http://www.dsy.it/forum/showthread.php?threadid=16215)
programma esame 1 anno rapacioli
qualcuno che mi da qualche input per il seguente programma:Gli eseguibili prodotti dalla compilazione devono essere due, Index e Find.
Il primo Index ha un solo parametro, il Path sul disco della radice del sottoalbero da indicizzare. Il programma Index indicizzerà il contenuto dei file *.txt dalla radice passata come parametro a tutte le sottodirectory fino alle foglie del sottoalbero.
Il servizio Find, ha sue parametri il Path sotto il quale cercare e la parola da ricercare, restituisce tutti i file *Txt presenti nel sottoalbero che parte da path che contengono la parola passata.
ve ne sarei grato grazie
E' simile a quello dell'anno scorso, con la differenza che l'anno scorso si poteva produrre un unico eseguibile.
Sicuramente il buon Rapacioli vi ha fatto studiare le hash table, che mi sembrano il modo migliore per realizzare Index.
La soluzione p iù pratica che mi viene in mente è di calcolare un hash per tutte le parole contenute nel file e memorizzarlo con il relativo path in un file (o nell'heap se siete capaci, ma non credo sia una buona soluzione se non siete VERAMENTE padroni dell'argomento puntatori, anche perché sarebbe difficile capire quanta memoria allocare e lavorare sulle realloc in funzioni ricorsive è come sdraiarsi sui binari).
A quel punto, scrivere Find è "semplice": gli date in pasto la parola da cercare, fate calcolare l'hash e lo fate confrontare con tutti gli hash contenuti in Index. Man mano che trova riscontri positivi, stampate il percorso e il nome del file a video.
Per facilitare l'attraversamento e la lettura di directory, ci sono delle system call per DOS e Win.
Non mi ricordo come si chiamano, ve le segnalo domani, se riesco.
Con un po' di ricorsione dovreste riuscire
Buona fortuna
__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~
grazie dell'aiuto speriamo in bene
mi stavo chiedendo.... il risultato dell'indicizzazione compiuta da INDEX finisce in memoria....kiudendo index....il contenuto finito in memoria si cancella ?se si, devo quindi tenere aperto index per permettere a FIND di lavorare ? se no...meglio...
aiutoooo esame rapacioliii
ciao a tutti qualcuno sa darmi qualche input su come fare delle hash table per indicizzare un sottoalbero ? volevo sapere inoltre se all'orale il rapa fa un poò il bast..do o cosa.grazie ciauu
Intervento del moderatore:
non aprite mille thread per lo stesso argomento. Leggete il regolamento.
Unisco i thread
__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~
Originally posted by Rubi!
mi stavo chiedendo.... il risultato dell'indicizzazione compiuta da INDEX finisce in memoria....kiudendo index....il contenuto finito in memoria si cancella ?se si, devo quindi tenere aperto index per permettere a FIND di lavorare ? se no...meglio...
Originally posted by tescu85all'orale il rapa fa un poò il bast..do o cosa.grazie ciauu
__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~
Io finora sono riuscito ad aggiungere un servizio nella libreria che gestisce l'hash table che, prima della chiusura , crea un file del genere :
parola1 \b percorso1
parola2 \b percorso2
parola3 \b percorso3
ora mi manca pero la funzione che nella find apre il benedetto file e carica tutti gli elementi nuovamente nella hash table per poi usare la find della hash table (leggermente modificata perche deve distinguere le parole uguali dalle parole con lo stesso hash (pippo e oppip per intenderci)).
Sarebbe meglio parlarne tutti di queste cose cosi magari ci si aiuta a vicenda
Sul indicizzazione dell'albero ancora alto mare.
Ciauz Tia
All times are GMT. The time now is 01:22. | Show all 8 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.