PDA

Visualizza la versione completa : [C] utilizzare al meglio la memoria in C


COCCA
17-01-2009, 13:04
Ciao!
Chi mi può aiutare a risolvere il seguente problema???

Devo leggere da un file quante volte un carattere è ripetuto se consecutivo, per poi
scriverlo in un file nuovo
ad esempio: aaabb
ccd...ecc ecc, diventrà 3a2b(spazio)2c1d...ecc. e fin qui è tutto facile. Per il docente
questa è considerata un'implementazione banale, perchè viene utilizzato un carattere
(1 char,
ovvero 1 byte) per ogni cifra del numero di occorrenze del carattere da ripetere;
quindi devo
utilizzare al meglio la memoria per quanto riguarda la memorizzazione delle cifre.
Mi sono
documentata sull'aritmetica binaria, ad esempio i numeri da 0 a 3,
li posso rappresentere con
2 bit, quelli da 4 a 7 con 3 bit,da 8 a 15 con 4 bit e così via,
ma non riesco a capire come
posso implemetare questa soluzione.
Grazie per l'aiuto!!! Ciao ciao

hurricane86
17-01-2009, 13:22
Originariamente inviato da COCCA
Ciao!
Chi mi può aiutare a risolvere il seguente problema???

Devo leggere da un file quante volte un carattere è ripetuto se consecutivo, per poi
scriverlo in un file nuovo
ad esempio: aaabb
ccd...ecc ecc, diventrà 3a2b(spazio)2c1d...ecc. e fin qui è tutto facile. Per il docente
questa è considerata un'implementazione banale, perchè viene utilizzato un carattere
(1 char,
ovvero 1 byte) per ogni cifra del numero di occorrenze del carattere da ripetere;
quindi devo
utilizzare al meglio la memoria per quanto riguarda la memorizzazione delle cifre.
Mi sono
documentata sull'aritmetica binaria, ad esempio i numeri da 0 a 3,
li posso rappresentere con
2 bit, quelli da 4 a 7 con 3 bit,da 8 a 15 con 4 bit e così via,
ma non riesco a capire come
posso implemetare questa soluzione.
Grazie per l'aiuto!!! Ciao ciao

non vedo qualche spreco ci possa essere nel fare una cosa del genere:



typedef struct contenitore{

char c; /* Carattere */
unsigned int num; /* Numero di occorrenze del carattere c */

}contenitore;


Chiedo venia se non ho capito niente del problema!

COCCA
17-01-2009, 16:01
ma infatti io ho già fatto una cosa del genere come hai scritto tu!!! Quindi dovrebbe andare bene?? Mi dai una super risposta!! Allo se ho avuto dei dubbi, non ho ben capito come una struttura occupa la memoria!!! cmq grazie!

oregon
17-01-2009, 18:51
Non ho capito neanche se c'e' una domanda in questo thread ... :confused:

LeleFT
19-01-2009, 12:06
Regolamento, punto 3:


Sono da evitare titoli generici come, ad esempio, "problema", "aiuto", "help", "errore" oppure epiteti come "urgente", "difficile", "solo per esperti" e così via.


Ciao. :ciauz:

Loading