Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #1

    [C] liste,cerca ed elimina sequenze numeri

    Salve,ho un problema con un esercizio sulle liste in C. Premetto che sono alle prime armi e anche se capisco come in teoria dovrebbero funzionare non riesco a scrivere il programma.
    L'esercizio è il seguente:
    "Sia data una struttura
    codice:
    typedef struct elemento
    {
        int val;
        struct elemento *next
    } item;
    che rappresenta un elemento di una lista di interi.
    Si scriva una procedura
    codice:
    lista *SeekAndDestroy(lista *l, int k)
    che data una lista lis di interi positivi e un intero positivo k, cerca all'interno di list la prima sequenza di elementi consecutivi la cui somma sia esattamente k, e elimina tali elementi dalla lista. La funzione deve restituire un puntatore al primo elemento della lista così modificata.
    La mia idea era quella di scansionare la lista facendo sommare i valori.Tipo come se fosse un array,avere due puntatori che puntano rispettivamente uno al primo e l'altro al secondo elemento e sommarli.Poi confrontare la somma con il valore k. se la somma<k fare una specie di chiamata ricorsiva in cui alla somma aggiungo il prossimo elemento finché non si raggiunge il valore k. Il problema è che non so come far capire al programma di salvare i precedenti valori e e poi come eliminarli una volta trovata la sequenza.
    Avevo anche pensato a salvare questi interi in una nuova lista(esempio list current) e poi magari attraverso la funzione ricerca cercare nella vecchia lista gli elementi della list current ed eliminarli,ma come ho detto mi blocco nel scrivere in concreto il programma.
    Grazie
    Ultima modifica di MItaly; 28-05-2014 a 02:30

Tag per questa discussione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.