Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Simulazione lista in C

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760

    Simulazione lista in C

    Avrei bisogno esempi di simulazione liste in C,sapete dove ne posso trovare?Oppure posso postare un esempio per vedere se è corretta la mia procedura?

  2. #2
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    in che senso simulazione liste in C?? se hai provato a implementare le liste...posta che diamo un'occhiata!!
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    intanto grazie Mrx87 per la risposta
    intendevo l' esecuzione di una funzione tramite i record di attivazione.Allora domani posto un esempio

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    ecco ad esempio un codice,
    int f(int *a, int i, node *lis)
    {
    int x;int z=0;
    if (lis == NULL) return(0);
    else if (lis->data > i)
    {*a=(*a)+1 ; printf("a%d\n",*a);

    z=(f(a,i+1,lis->next));printf("z %d\n",z);return z;}

    else if (lis->data <i)
    {x=f(a,i,lis->next);printf("x %d\n",x); *a=(*a)+x; return(x);}

    else return(*a);
    }

    dal main int x=0; int y=3;

    e se si deve invocare la funzione con 9->8->7->6 si avranno i campi
    a
    i 3
    lis 9
    x
    z

    lis ->data>i,si stampa a=1 e si va al valore successivo incrementando i di uno.Cosa bisogna però inserire in z? 1?
    E' molto importante!

  5. #5
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    bhè intanto se magari postavi il codice negli appositi tag per i codici era meglio e soprattutto più leggibile...inoltre una cosa che non capisco è perchè fai il return della variabile a che hai dichiarato come puntatore a int?!?!?! cioè se la passi per riferimento è inulite fare return!!

    codice:
    return(*a);
    forse non ho capito bene io...ma dando una occhiata mi è parso così!
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    760
    MrX87 il codice mi è stato dato,devo solo fare la "simulazione",mi scuso per non averlo messo subito nei tag

    codice:
    int f(int *a, int i, node *lis)
    {
    int x;int z=0;
    if (lis == NULL) return(0);
    else if (lis->data > i)
    {*a=(*a)+1 ; printf("a%d\n",*a);
    
    z=(f(a,i+1,lis->next));printf("z %d\n",z);return z;}
    
    else if (lis->data <i)
    {x=f(a,i,lis->next);printf("x %d\n",x); *a=(*a)+x; return(x);}
    
    else return(*a);
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.