Problema su programma-liste

di il
1 risposte

Problema su programma-liste

Questo e il codice del mio programma sulle liste:

#include <stdio.h>
#include <stdlib.h>


typedef struct el
{
struct el *back;
int iValore;
struct el *next;
}sLista;

int main(int argc, char *argv[])
{
sLista *testa; testa=NULL;
sLista *coda; coda=NULL;
sLista *n; n=NULL;
sLista *l; l=NULL;
int iScelta,i;

n=malloc(sizeof(sLista));
printf("Immeti il numero intero: ");
scanf("%d",&n->iValore);
getchar();
testa=n;
coda=n;
printf("Vuoi immettere un altro elemento nella lsita: ? (1=SI)--(0=NO)");
scanf("%d",&iScelta);
getchar();
if (iScelta==1)
{
do
{
i++;
iScelta=0;
//printf("aaaa");
n=malloc(sizeof(sLista));
//printf("bbbbb");
coda->next=n;
//printf("ccccc");
coda=n;
//printf("dddd");
printf("Immeti il numero intero: ");
scanf("%d",&n->iValore);
getchar();
printf("Vuoi immettere un altro elemento nella lsita: ? (1=SI)--(0=NO)");
scanf("%d",&iScelta);
getchar();

}while(iScelta==1);

l=testa;
printf("----INIZIO LISTA----");
for(;l->next!=NULL;l=l->next)
{
printf("%d",l->iValore);
printf("a");
}
printf("----FINE LISTA----");
getchar();
*exit(1);
/*
while(l->next!=NULL)
{
printf("%d",l->iValore);
l=l->next;
}
printf("----FINE LISTA----");
exit(1);
*/
}
else
{
l=testa;
printf("----INIZIO LISTA----\n");
for(;l->next!=NULL;l=l->next)
{
printf("%d",l->iValore);
}
printf("----FINE LISTA----");
getchar();
exit(2);

}
system("PAUSE");
return 0;
}

il problema e che mandandolo in esecuzione alla fine mi stampa : inizio lista, la lsita (valori int), e mentre fine lista non me lo stampa, penso che ci sia un errore nel for pero non so.
grazie in anticipo.

1 Risposte

  • Re: Problema su programma-liste

    ...ma quale for...
    dalla struttura dovrebbe essere una lista doppia concatenata, in realtà non è nemmeno una semplice. Mancano i collegamenti agli elementi partendo dalla testa, riscrivi porzioni di codice che dovrebbero essere funzioni... il for di visualizzazione, quello è corretto.

    Ti consiglio:
    1) postare il codice usando l'apposito tag
    2) leggiti bene questo:
    3) cerca nel forum ci sono esercizi identici...

    Prima di scrivere un programma bisogna avere bene le idee chiare su quello che bisogna fare
Devi accedere o registrarti per scrivere nel forum
1 risposte