Split di liste

di il
1 risposte

Split di liste

Ciao a tutti! Sto affrontando un difficile esame all'università in cui mi viene richiesto di fare un progetto in c, ma io non so da che parte mettere le mani. mi potete dare una mano??
Il testo dell'esercizio è questo:

scrivere e provare un programma che visualizzi all'utente un menù di scelta con le seguenti 4 opzioni:
a) creazione di una nuova lista di interi (si crea dinamicamente una lista doppiamente concatenata di interi inseriti dall'utente; il nome della lista verrà assegnato automaticamente nel formato List-i.)

b) split k di una lista List-i (si richiede all'utente di inserire un valore intero positivo k >1 e il nome di una lista già creata precedentemente a cui applicare lo split.) Per la lista selezionata si effettuano le seguenti operazioni:
1.Sia n il numero di elementi di cui è composta la lista, tale lista verrà modificata e dovrà contenere solo i primi x=?n/k? (ovvero n div k) valori interi.
2.Gli interi rimossi dalla lista al punto precedente andranno a costituire gli elementi di k-1 nuove liste (sempre doppiamente concatenate) i cui nomi saranno assegnati automaticamente nel formato List-i. Alle prime k-2 nuove liste saranno assegnati ognuna x (calcolato al punto 1.) valori interi fra quelli rimossi dalla lista al punto 1. I primi x valori interi rimossi dalla lista al punto 1. saranno inseriti nella prima nuova lista, i secondi x valori rimossi dalla lista al punto 1. saranno inseriti nella seconda nuova lista, e così via fino alla penultima nuova lista. All'ultima nuova lista saranno invece assegnati tutti gli interi rimanenti.
Lo split non ha alcun effetto se applicato ad una lista vuota ("Nil"), ovvero ad una lista non contenente alcun valore intero.

c) split di tutte le liste (Si richiede all'utente di inserire un valore intero positivo k>1. Per ogni lista precedentemente creata (partendo da List-1, quindi List-2, List-3, ... etc.) si effettuano le seguenti operazioni:
1.Sia n il numero di elementi di cui è composta la lista, tale lista verrà modificata e dovrà contenere solo i primi x=?n/k? (ovvero n div k) valori interi.
2. Gli interi rimossi dalla lista al punto 1. precedente andranno a costituire gli elementi di k-1 nuove liste (sempre doppiamente concatenate) i cui nomi saranno assegnati automaticamente nel formato List-i. Alle prime k-2 nuove liste saranno assegnati ognuna x (calcolato al punto 1.) valori interi fra quelli rimossi dalla lista al punto 1. I primi x valori interi rimossi dalla lista al punto 1. saranno inseriti nella prima nuova lista, i secondi x valori rimossi dalla lista al punto 1. saranno inseriti nella seconda nuova lista, e così via fino alla penultima nuova lista. All'ultima nuova lista saranno invece assegnati tutti gli interi rimanenti.

d) stampa un messaggio di uscita e esce dal programma. si gestiscano anche le situazioni di errore.

Grazie a tutti i volenterosi di cuore.... non so veramente come fare!!!

1 Risposte

  • Re: Split di liste

    Ciao,
    in base al regolamento (che dovresti leggere) qui non si svolgono esercizi su richiesta e non si fornisce codice pronto. Oltretutto il tuo esercizio è anche piuttosto lungo, quindi non credo che troverai qualcuno che lo svolga per te...

    Comincia a scrivere qualcosa (ad esempio la creazione della lista che non è un'operazione troppo complessa), poi se hai qualche dubbio, relativamente a qualche punto specifico dell'esercizio, ce lo fai sapere: mostri i tuoi tentativi e risolviamo insieme.

Devi accedere o registrarti per scrivere nel forum
1 risposte