[C] Programma che ripiega una lista concatenata

Messaggioda Nandone169 » 30/05/2020, 13:28

Buon salve, avrei da fare questo esercizio:
Si costruisca un programma che faccia le seguenti cose, nell’ordine:
1. Costruisce una lista concatenata di N nodi con campo informativo intero, acquisendo gli interi da terminale;
2. Acquisisce un numero intero positivo M < N;
3. Ripiega la lista M volte, restituendo una lista di lunghezza [N/M] i cui elementi contengono la somma degli interi costituenti le parti ripiegate. La lista può eventualmente avere un ulteriore elemento che contiene la somma degli elementi che rimangono nell’ultima parte di lunghezza minore di M.
Esempio di elaborazione
• N = 8 lista: →1→2→3·→4→5→6·→7→8→ (· `e un punto di piegatura)
• M = 3
• [N/M] = 3; lista: →7→7→7→15→

Per quanto riguarda i primi due punti non c'è niente da dire. Invece per l'ultimo non sono sicuro di aver capito, perché rispetto a quello che dovrebbe essere l'output finale(che è chiaro) sembra dire altro.
Nandone169
Starting Member
Starting Member
 
Messaggio: 2 di 32
Iscritto il: 29/05/2020, 21:12

Re: [C] Programma che ripiega una lista concatenata

Messaggioda apatriarca » 30/05/2020, 13:49

In effetti l'output e la descrizione sembrano dire cose diverse.. Non credo ci possa essere altro da fare se non chiedere al tuo professore.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5421 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [C] Programma che ripiega una lista concatenata

Messaggioda Super Squirrel » 30/05/2020, 15:11

Anche per me la traccia risulta poco comprensibile, per esempio
• [N/M] = 3; lista: →7→7→7→15→

dove 8/3=2 invece c'è scritto 3 e gli elementi della lista sono 4!?

In ogni caso l'unico modo che mi viene in mente per ottenere quell'output è qualcosa del genere:

Immagine
Chi dorme in democrazia, si sveglia in dittatura.
Super Squirrel
Senior Member
Senior Member
 
Messaggio: 404 di 1486
Iscritto il: 16/05/2013, 22:05

Re: [C] Programma che ripiega una lista concatenata

Messaggioda Nandone169 » 01/06/2020, 18:13

Super Squirrel ha scritto:Anche per me la traccia risulta poco comprensibile, per esempio
• [N/M] = 3; lista: →7→7→7→15→

dove 8/3=2 invece c'è scritto 3 e gli elementi della lista sono 4!?

In ogni caso l'unico modo che mi viene in mente per ottenere quell'output è qualcosa del genere:

Immagine

Si praticamente quel 3 esce fuori considerando la funzione ceiling, mentre l'aggiunta di un ulteriore membro dipende dalla m in quanto tali elementi risulterebbero fuori dall'operazione di "piegatura"(dato che ogni elemento viene "piegato" con quello che si trova m posizioni avanti). Il punto è che comunque non è un modo per presentare un esercizio considerando che ha fatto parte della prova pratica di un esame passato.
Nandone169
Starting Member
Starting Member
 
Messaggio: 3 di 32
Iscritto il: 29/05/2020, 21:12


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite