|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 314
|
[c] problema lista e puntatori
Ragazzi ho un problema con questo codice, dovrebbe cancellare da una lista gli elementi maggiori di 11
Codice:
int main(int argc, char *argv[])
{
int m[NR][NC]={3,58,4,7,
4,1,3,6,
15,11,6,1,
5,4,8,31
};
nodo *inizio=NULL;
int i,j;
for(i=0; i<NR; i++)
{
for(j=0; j<NC; j++)
{
if(i==j && primo(m[i][j])) inizio=makeFifo(inizio,m[i][j]);
if(i+j == NC-1 && primo(m[i][j])) inizio=makeFifo(inizio,m[i][j]);
}
}
printList(inizio);
nodo *p = inizio;
while(p)
{
if(p->info > 11) inizio=delete(inizio,p->info);
p=p->next;
}
printf("\n");
printList(inizio);
fflush(stdin);
getchar();
}
nodo * delete(nodo *inizio, int cosa)
{
int pos=0;
nodo *aux, *killer;
if(inizio->info == cosa)
{
killer=inizio;
inizio=inizio->next;
free(killer);
write(cosa,pos);
}
else{
aux=inizio;
while(aux->next->info !=cosa && aux)
{
aux=aux->next;
pos++;
}
if(aux)
{
killer=aux->next;
aux->next=killer->next;
free(killer);
write(cosa,pos);
}
else printf("Elemento Assente");
}
return (inizio);
}
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 314
|
Lo ho provato su XP e funziona
__________________
Athlon64 x2 5600 - AsRock ALiveNF5eSata2+ - kingston 2GB ddr2 800 - GeForce 8800gts 320MB |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2000
Città: Bari-Brindisi-Lecce e prov
Messaggi: 424
|
Utilizzi dei puntatori a nodo che pero' non hai definito in alcun punto.
__________________
VoIp Gratis - Adsl senza canone telecom Ho trattato con: adarkar,Bobosassa, matrix866,M@t,k|o, percky,s5otto, Rospaccio, CluRaCaN, Igor,Zizziry, bokkakesballa, Pex,freewilly, Umbyboy,DAVO, nathbigga, fabiuxx ed altri. Diffidate di quinnuxxa |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:51.



















