Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Linguaggi di programmazione
 compilatore

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
ioboss Inserito il - 12/02/2004 : 12:10:32
ragà.. aiuto.. =\ sto facendo l'analizzatore lessicale.. il sorgente viene compilato ma mi da un errore di violazione di accesso durante l'esecuzione.. si blocca sempre quando leggo un carattere dal file.. sapreste dirmi cos'è ke sbaglio?? O_o in allegato c'è il sorgente in c..

Allegato: aiuto.txt
9,92 KB
6   U L T I M E    R I S P O S T E    (in alto le più recenti)
MnK Inserito il - 14/02/2004 : 15:48:19
/* ----------FUNZIONE HASH--------------------*/
int hash(struct token *tkn,struct token *vet_tkn[]) {
printf("----E' stata appena richiamata la funzione HASH ----\n");

int hashval;
int libero = 0;
int i = 0, p = 0;
for (hashval = 0; tkn->name[i] !='\0'; i++)
hashval= tkn->name[i] + 31 *hashval;

hashval = hashval % HASHSIZE;
printf("Il valore Hash Calcolato e': %i \n",hashval);

if (vet_tkn[hashval]->name == NULL) {
vet_tkn[hashval] = tkn;
}
else
{
i = hashval;
while (libero == 0) {
if (vet_tkn[i]->name == NULL) {
vet_tkn[i] = tkn;
libero = 1;
}
i++;

if (i == HASHSIZE) {
for (i = 0; i <= hashval; i++) {
if (vet_tkn[i]->name == NULL) {
vet_tkn[i] = tkn;
libero = 1;
}
if (i >= hashval) {
printf("TABELLA PIENA! \n");
libero = 1;
}
} //End For
} //End IF
} //End While
} //Fine Else
}



ALLORA VEDIAMO. C'E' QUALCOSA CHE NN MI CONVINCE. *vet_tkn[] E' IL PUNTATORE AL VETTORE DI LISTE.GIUSTO?
NEL PRIMO CICLO QUANDO hashval=0 hashval= tkn->name[i] + 31 *hashval;COME FA' tkn->name[i] che credo sia una stringa ad essere = ad hashval che e' dichiarato come un int?
-> nn si usa per selezionare un campo della cosa puntata da un puntatore? ma
vet_tkn[hashval]->name VET_TKN[..]NN E' UN PUNTATORE....o sbaglio?
Tano Inserito il - 14/02/2004 : 00:37:30
Non è altro che la creazione di un valore HASH a una chiave estratta. Tu puoi progettare qualsiasi algoritmo che ti generi un valore HASH, in questo caso è stato scelto

hashval = *s + 31 * hashval;
return hashval % HASHSIZE;

dove viene restituito un valore compreso tra 0 e N del vet[0..N]. Una chiave Hash può anche essere Hashval = primalettera in binario + seconda lettera in binario ecc..


La scelta della chiave è soggettiva.
MnK Inserito il - 14/02/2004 : 00:11:15
unsigned hash(char *s) {
unsigned hashval;
for (hashval = 0; *s != '\0'; s++)
hashval = *s + 31 * hashval;
return hashval % HASHSIZE;
}


Ragazzi per favore sareste così gentili da spiegarmi sto pezzo di codice?nn riesco proprio a capirlo.In particolare hashval = *s + 31 * hashval;
Perche' proprio 31?E' ricorsiva come funzione vero?E perche'?
Grazie 1000.Sergio.
Tano Inserito il - 12/02/2004 : 23:26:10
prova a crearti un algoritmo a parte in C che preleva caratteri dal File e stampali a video. Cosi vedi bene se c'è un errore di sintassi.

E' molto utile isolare parti di programma.
ioboss Inserito il - 12/02/2004 : 22:12:17
spero anke io nn sia troppo tardi.. =( l'esame ce l'ho il 18.. O_O
nicux Inserito il - 12/02/2004 : 13:31:20
uhmm...
quel codice ha un che di familiare...
dopo l'esame di asd gli dò un occhiata, spero non sia troppo tardi.

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,07 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000