[C] Aiuto urgente su un programma
Salve, cerco qualcuno che possa darmi una mano a scrivere un programma in C per me troppo complicato...
Il programma deve leggere un testo con un numero arbitrario di righe in input e deve emettere le sequenze di tre parole (anche se separate da caratteri non alfabetici) che si ripetono più di una volta nel testo.
Non so da dove iniziare... spero possiate aiutarmi.
Il programma deve leggere un testo con un numero arbitrario di righe in input e deve emettere le sequenze di tre parole (anche se separate da caratteri non alfabetici) che si ripetono più di una volta nel testo.
Non so da dove iniziare... spero possiate aiutarmi.
Risposte
"Pierlu11":
deve emettere le sequenze di tre parole (anche se separate da caratteri non alfabetici) che si ripetono più di una volta nel testo.
Non credo di aver capito. Fai un esempio. Magari potrebbe aiutarti molto un analisi molto astratta, prima di iniziare a scriver il codice, giusto per avere un idea chiara di cio' che devi fare, ad esempio
Provo ad aprire il file in input se ci sono errori fermo il programma / richiedo di nuovo il file .. o quello che vuoi Altrimenti leggo la prima riga/ parola/ lettera... ecc..
Prova, vedrai che poi sara' piu 'semplice. Avrai un idea degli strumenti di cui hai bisogno e sara' piu' facile trovarli per te e suggerirti per noi

Facci sapere come procede
Scusa ma non ho capito cosa dovrei fare...
Intanto questo è un esempio:
Intanto questo è un esempio:

Dovresti fare un analisi:
Immaginiamo che io debba trovare il massimo tra i numeri in un vettore
Potresti pensare ad un analisi di questo tipo:
PS: descrivi cio' che faresti a mano, poi lo schematizzi, tutto lì!
Immaginiamo che io debba trovare il massimo tra i numeri in un vettore
Potresti pensare ad un analisi di questo tipo:
Se il vettore ha al meno 1 elemento allora pongo: massimo = vettore[0] Ciclo (da i=1 a i< dimensione del vettore) se ci sono altri elementi nel vettore controllo se l'elemento i+1 è maggiore di massimo se lo è allora aggiorno massimo incremento i Fine ciclo Mostro / salvo risultati
PS: descrivi cio' che faresti a mano, poi lo schematizzi, tutto lì!

L'idea principale per risolvere questo problema consiste nell'implementazione di una qualche struttura di ricerca come un albero o una hash table per contenere le triplette (anche una specie di array ordinato potrebbe andare bene). Durante la lettura inserisci tutte le triplette del file nella struttura, quando una tripletta è già presente incrementi il corrispondente contatore, altrimenti inserisci la nuova tripletta con il contatore a 1. Alla fine della lettura leggi tutte le triplette ed estrai quelle che sono state inserite più di una volta (il cui contatore è maggiore di 1 insomma).
quoto apatriarca.
e ti diro' di piu...
la base di questo algoritmo e' molto simile a quella di un compressore stile win zip....
a dire il vero loro usano un mix di algoritmi ma l'idea e' quella
e ti diro' di piu...
la base di questo algoritmo e' molto simile a quella di un compressore stile win zip....
a dire il vero loro usano un mix di algoritmi ma l'idea e' quella
