Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Lista rovesciata in C

    dunque.. sto cercando, data una lista, di fare un programma che la rovesci... tutto questo in C... ma sopratutto è il computer che dovrebbe determinarmi la lunghezza della frase immessa senza che io glie la dica...

    il risultato dovrebbe venire fuori così:
    ciao [input]

    oaic [output]

    solo che nn riesco a definire la sequenza con la lista...
    so che questa deve contenere:
    - testa della coda
    - scansione dell'elemento corrente
    - modo di accesso

    potreste darmi qualche consiglio?? ste liste sonoun casino...
    cmq se nn sono stato chiaro chiedete pure...

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Lista rovesciata in C

    Originariamente inviato da -Lucky87-
    potreste darmi qualche consiglio?? ste liste sonoun casino...
    Innanzitutto inizia a pensare a come deve essere fatto il "nodo" della lista. Quindi scriverai la/e definizione/i in C per tale nodo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3

    Re: Lista rovesciata in C

    Originariamente inviato da -Lucky87-
    dunque.. sto cercando, data una lista, di fare un programma che la rovesci... tutto questo in C... ma sopratutto è il computer che dovrebbe determinarmi la lunghezza della frase immessa senza che io glie la dica...

    il risultato dovrebbe venire fuori così:
    ciao [input]

    oaic [output]

    solo che nn riesco a definire la sequenza con la lista...
    so che questa deve contenere:
    - testa della coda
    - scansione dell'elemento corrente
    - modo di accesso

    potreste darmi qualche consiglio?? ste liste sonoun casino...
    cmq se nn sono stato chiaro chiedete pure...
    Non c'entra nulla con liste, ma fa esattamente ciò che chiedi ;-)
    Codice PHP:
    #include <stdio.h>
    #include <string.h>

    int main (int argc, const char argv[]) {
    /*
    * Compiled and tested with:
    * i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
    *
    * The output is:
    * "!dlrow olleH"
    */
        
    const char kSentence "Hello world!";
        
    size_t i 0;
        const 
    size_t kLength strlen (kSentence);
        for (
    0kLength; ++i){
            
    printf ("%c"kSentence [kLength - (+1)]);
        }
        return 
    0;


  4. #4

    Re: Re: Lista rovesciata in C

    Originariamente inviato da andbin
    Innanzitutto inizia a pensare a come deve essere fatto il "nodo" della lista. Quindi scriverai la/e definizione/i in C per tale nodo.
    humm... nn penso di aver capito molto bene ciò che vuoi intendere... sorry
    riusciresti a spiegarmelo in altre parole?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Re: Re: Lista rovesciata in C

    Originariamente inviato da -Lucky87-
    humm... nn penso di aver capito molto bene ciò che vuoi intendere... sorry
    riusciresti a spiegarmelo in altre parole?
    Ma devi usare una "lista linkata" o un semplice array di char da stampare al contrario con un banale for???
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  6. #6

    Re: Re: Re: Re: Lista rovesciata in C

    Originariamente inviato da andbin
    Ma devi usare una "lista linkata" o un semplice array di char da stampare al contrario con un banale for???
    lista linkata... magari bastasse il for..

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Re: Re: Re: Re: Lista rovesciata in C

    Originariamente inviato da -Lucky87-
    lista linkata... magari bastasse il for..
    Ok, è come supponevo ....

    Comunque ripeto che devi innanzitutto definire il "nodo" della lista. Questo nodo, detto secondo il C, è poi nient'altro che una struttura. Al suo interno ci sarà la parte relativa alla "informazione" (nel tuo caso è 1 char) più uno o due puntatori a seconda che lista sia single-linked o double-linked.
    Visto che devi poter scorrere anche all'indietro la lista, allora va fatta double-linked.

    EDIT: In effetti nel tuo caso (semplice stampa al contrario) non è detto che la lista debba per forza essere double-linked. Basta aggiungere gli elementi in testa invece che al fondo. Dopo gli inserimenti, ciò che hai in testa è l'ultimo elemento e quindi basta scorrerla in 1 solo senso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  8. #8
    hummm... capisco... peccato che nn riesco a metterlo in pratica...
    nn so cm scrivere la definizione della sequenza [di caratteri]...
    ne ho un esempio per lo stresso programma che fa uso dell'array...

    codice:
    typedef char elem;         //componente base dell'array di caratteri della sequenza
    
    /*definizione concreta dell'oggetto sequenza*/
    
    typedef struct sequence {
               elem Data[SIZE]               // sequenza; vettore di elementi
               int CurrentEl;                // scansore del vettore
               char AccessMode;              // modo di accesso al vettore
    }Sequence;
    anche se nn so se vi dirà molto...

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da -Lucky87-
    hummm... capisco... peccato che nn riesco a metterlo in pratica...
    nn so cm scrivere la definizione della sequenza [di caratteri]...
    ne ho un esempio per lo stresso programma che fa uso dell'array...

    codice:
    typedef char elem;         //componente base dell'array di caratteri della sequenza
    
    /*definizione concreta dell'oggetto sequenza*/
    
    typedef struct sequence {
               elem Data[SIZE]               // sequenza; vettore di elementi
               int CurrentEl;                // scansore del vettore
               char AccessMode;              // modo di accesso al vettore
    }Sequence;
    anche se nn so se vi dirà molto...
    Quello che hai scritto non è il nodo di una lista.

    Questo sarebbe un nodo di una lista linkata:
    codice:
    typedef struct nodo
    {
        char ch;
        struct nodo *next;
    } NODO;
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  10. #10
    si infatti... quella sarebbe la definizione della sequenza di caratteri con l'uso di un array.. mentre io dovrei trasformare il tutto usndo invece le liste...
    ti dico la definizione che mi hanno dato...

    la sequenza come lista

    la struct è costituita da:
    - testa della coda
    - scansione dell'elemento corrente
    - modo di accesso

    2 puntatori:
    - alla lista
    - all'elemento corrente


    [*EDIT*]
    per maggior chiarezza allego il testo dell'esercizio... magari sarà più chiaro..
    l'unica soa è che devo farlo con le liste invece che con gli array cm è fatto qua...
    http://www.esnips.com/nsdoc/22776b81...5-633ebf0e6511

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.