Visualizzazione dei risultati da 1 a 4 su 4

Discussione: C Liste di liste

  1. #1

    C Liste di liste

    Salve a tutti,
    sto preparando l'esame di programmazione che bene o male e tutto concentrato sulle strutture e le liste.
    Guardando i compiti vecchi mi sono imbattuto in questo tipo di "liste di liste" dove non trovo alcuna spiegazione a riguardo. Ho provato anche navigando ad ottenere informazioni, ma niente di chiaro.
    Cosi con quel poco che ho capito ho provato a buttare giu una definizione di lista di liste ed un eventuale esercizio che consite nell'accesso alla lista alla cella specificata. Insomma bracolo nel buio e vorrei un vostro parere a riguardo...grazie per eventuali consigli e delucidazioni.

    Dato in input il codice del corso, calcolare la media degli studenti iscritti al tal corso:

    codice:
    struct lista_first
    {
        int codice_corso;
        int cfu;
        char titolare_corso[MAX];
        int semestre;
        struct lista_first *next;
        struct lista_second *next2;
    };
    
    struct lista_first *lista1;
    
    struct lista_second
    {
        int matricola_studente;
        char nome_e_cognome[MAX];
        int voto;
        int data_verbalizzazione;
        struct lista_second *next;
    };
    
    struct lista_second *lista2;
    
    
    
    int media_voto(int codice_corso)
    {
        int i, cod, num_elem=0;
        float val,media=0;
    
        for(i=0; lista1->next2 != NULL; i++)
        {
            cod=lista1->codice_corso;
    
            if(codice_corso == cod)
            {
                while(lista2->next != NULL)
                {
                    val= lista2->voto;
                    media= media+val;
                    num_elem++;
                }
            }
        }
        
        media= media/num_elem;
        return media;
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Quando si posta del codice, si devono usare i tag CODE, come specificato nel Regolamento interno, in modo da mantenere la formattazione del carattere e l'indentazione.

    Ho corretto io.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    36
    premetto che sto preparando anche io l'esame di programmazione:

    guardando il codice si capisce che la prima lista ha due struct puntatori, next che punta agli elementi successivi della propria lista, e next 2 che punta agli elementi della seconda lista (che a sua volta ha il puntatore next per puntare agli elementi successivi), nonchè gli studenti. la funzione media_voto riceve come parametro un generico codice_corso, il ciclo for scorre tutti gli elementi della prima lista per poter associare il codice_corso ricevuto come parametro ad un codice_corso di uno specifico corso (es: informatica, sistemi, analisi: ovvero tutti i corsi di uno specifico anno, di una specifica facoltà). trovato lo specifico corso il ciclo while non fa altro che scorrere fino al puntatore di fine lista studenti, tutti gli studenti facenti parte di quel corso, somma tutti i voti di ognuno, e all'uscita dei ciclo for fa la media dei voti ottenuti, dividendo il voto totale per il numero degli studenti, scanditi con il ciclo while, che fanno parte di quel corso.

    spero di non aver sbagliato e che più o meno tu abbia capito

  4. #4
    Inazitutto grazie per la correzzione ci devo solo prendere un po' la mano....forse non ho espresso bene la mia questione..il programma so quello che fa, l'ho fatto io solo che non avendo sotto mano guide utili sull'argomento "lista di liste "sono andato un po' per logica e volevo avere un riscontro sulle correttezze o mancanze di quello che ho fatto. Scusate ancora se non mi sono spiegato bene

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.