|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 21
|
[C] ordinamento e stampa di una lista
Salve a tutti!
Ho un problema.. In questo codice io devo leggere un file contenente parole delimitate da un numero variabile di spazi e devo creare un file contenente le parole e la loro relativa frequenza, in modo decrescente. La lista è già creata e riempita;il problema sorge nella stampa delle 100 parole più frequenti. Non riesco a capire come mai mi stampi solo la prima parola più frequente e nessun'altra! Questo è il codice: Codice:
temp=testa;
if(testa==NULL)
{
fclose(fpw);
exit(0);
}
else
{
while(temp != NULL && numero_parole <= 100 )
{
massimo=0;
while(temp != NULL) //ciclo per trovare il massimo
{
if(temp->frequenza > massimo)
{
massimo=temp->frequenza;
}
temp=temp->next;
}
temp=testa;
while(temp != NULL)
{
if(temp->frequenza == massimo)
{
fprintf(fpw,"%d %s \r\n",temp->frequenza,temp->parola);
numero_parole++;
if(temp == testa)
{
if(temp->next != NULL)
{
testa = testa->next;
}
else
{ //lista finita
break;
}
}
canc=temp;
temp=temp->next;
prev->next=temp;
free(canc);
}
else
{
prev=temp;
temp=temp->next;
}
}
}
}
Grazie in anticipo.. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:10.



















