Strutture di strutture

di il
6 risposte

Strutture di strutture

Data due liste concatenate definita nel seguente modo
struct elemento{ struct elemento2{
char nome[20] char nome[20]
char cognome[20] char cognome[20]
int età}; int età};

queste sono state riempite con funzioni malloc ...ora voglio delinare un altra lista o struttura che le contenga entrambe e le ordini secondo il cognome in ordine alfabetico

6 Risposte

  • Re: Strutture di strutture

    1) Non si capisce come è fatta quella struttura ( è incolonnata male, mancano i ; )

    2) E' bene non usare variabili con lettere accentate nel nome (al posto di età usa eta)

    3) Non si capisce cosa tu voglia fare
  • Re: Strutture di strutture

    Scusami nn me ne ero accorto....

    struct elemento 1{
    char nome[20];
    char cognome[20];
    int eta;
    struct elemento *next};

    struct elemento2{
    char nome[20];
    char cognome[20];
    int eta;
    struct elemento *next};

    queste sono le due strutture quello che voglio fare io è una struttura di questo genere

    struct elementi_totali{
    struct elemento1;
    struct elemento2;
    struct elementi_totali *next};

    che mi metta quindi tutti i valori delle due strutture in un unica struttura e che me li ordini tutti in ordine alfabetico rispetto al nome....mi sapresti spiegare come si fa???
  • Re: Strutture di strutture

    Guarda che sei parecchio fuori strada.

    Le due strutture sono identiche, a che ti servono due strutture identiche?

    Ne devi usare una sola. E dato che stai gestendo una lista, devi scrivere il codice per l'ordinamento di una lista semplice.

    Forse non hai ancora chiaro come funziona una lista ... fai un passo indietro e rivedi questo concetto, prima dell'ordinamento. Non so se studi (scuola/università) o sei autodidatta o cosa altro ma devi rivedere i concetti di base.
  • Re: Strutture di strutture

    Il problema è un altro sei tu che nn hai capito....allora sono due liste concatenate contenenti dati diversi,che hanno nomi uguali nei sotto elementi della lista che nn vuol dire che sn uguali....in parole povere sono cosi

    elemento 1(ovviamente lista concatenata):
    rossi giuseppe 33
    ferdi francesco 21
    cottone luida 36
    elemento 2(anche questo lista concatenata):
    accardi luigi 25
    pieri francesco 29
    degregorio franco 56
    voglio creare una struttura che li contenga entrambe e dopo posso ordinarli.....


    elemento totale:
    sono tutti i dati contenuti nelle due precedenti strutture:
    ora hai capito??????????
  • Re: Strutture di strutture

    Hai due liste che contengono nome, cognome ed età ... quindi la struttura è una sola ed è la stessa per tutte e due le liste. Questo è quello che non hai capito tu.

    Una struttura che contenga le due liste non ha senso, tanto meno come l'hai scritta.

    Semmai puoi creare una nuova lista che contenga gli elementi di una e dell'altra e che dopo può essere ordinata.
  • Re: Strutture di strutture

    tanoferr ha scritto:


    il problema è un altro sei tu che nn hai capito
    Veramente credo che oregon abbia capito benissimo, e sono d'accordo con lui. Il fatto è che non esiste una corrispondenza tra una struct e una lista. Cioè non è vero che se vuoi una nuova lista allora devi avere una nuova struct. Invece puoi basare due liste diverse sulla stessa struct. Ad esempio tu hai
    struct elemento{
    char nome[20];
    char cognome[20];
    int eta;
    struct elemento *next};
    Allora potresti fare qualcosa del genere:
    struct elemento *lista_1 = nuova_lista(...);
    struct elemento *lista_2 = nuova_lista(...)
    In questo modo hai due liste, ognuna delle quali contiene elementi di tipo "struct elemento".

Devi accedere o registrarti per scrivere nel forum
6 risposte