Propgramma che gestisce memoria associativa

di Anonimizzato8031 il
9 risposte
Salve a tutti!mi serve un aiuto per scrivere un programma che gestisca una memoria associativa e che mi permetta di inserire dati nella memoria,leggere i dati nella memoria,visualizzare il contenuto della memoria e cancellarla.
devo memorizzare tutto il contenuto nella memoria heap e usare i puntatori e le funzioni malloc,free e size.
non so da dove partire...chi mi aiuta?

9 Risposte

  • Parti da quì:
    
    #include <stdio.h>
    int main (void)
    {
        return 0;
    }
    
    Cosa sai di gestione memoria?
  • Io non so niente
    purtroppo il mio prof è convinto che siamo tutti piccoli geni che hanno bisogno solo di essere rinfrescati la memoria..e si limite a leggere le slide..
  • Allora vi fa lavorare un casino a casa. Ma se qualcuno ti faccesse il compito cosa avresti imparato? Un bel copia-incolla e esame superato. Tu prova a buttare giù qualche idea di quel che vorresti fare. Al massimo un forum ti può dare dei consigli ma non ti può fare i compiti. Vi ha detto almeno che strategia usare? se usare le liste, gli array, gli alberi binari ecc oppure ha detto: allocate un pezzo di memori a e mettete lì dei oggetti?
  • Sisi è proprio quello..io cmq non volevo il compito fatto,volevo sono un'idea,uno spunto..xkè davvero non so dove mettere le mani..
    quindi tu mi consigli di usare c++?
  • No non ti consiglio di usare il C++ siccome il compito non lo permette. In C++ tutto il tuo compito si traduce in:
    
    std::map<int,string> memAssociativa; //esempio che usa un intero come chiave e una stringa come valore
    
    devi utilizzare il C. Quindi siccome il prof non ha detto che tipo di dati deve accettare li puoi chiedere se puoi utilizzare stringhe (char * in C) per tutti e due i tipi di dati: chiave e valore. Se si tutto si traduce in una lista (esempio semplice) di una struttura definita così:
    
    typedef struct _cella
    {
       char *chiave;
      char *valore;
      _cella *next;
    }cella;
    


    Ovviamente devi scrivere tutto il codice che ci sta attorno per farlo funzionare e non è un progetto da 1 giorno. Dovevi iniziare ben prima.
  • Caso generico: usare void * x tutti i tipi di dati anche se è SCONSIGLIATISSIMA come procedura e non vedo il perche venga chiesto dal prof questo metodo. Critico anche il fatto che vi insegni il C quando tutto al giorno d'oggi si fa col C++.
    
        typedef struct _cella
        {
           void *chiave;
           void *valore;
          _cella *next;
        }cella;
    
    
  • Grazie mille
    cmq ti spiego subito perchè ci insegna il c..perchè in tutta l'università nessuno lo conosce e quindi nessuno ci può aiutare...furbo no?
  • Furbo un tubo. Che vi insegni qualcosa di utile. Poi passato l'esame che ci fatte di C? Si dimentica in un mese. Bell'insegnamento.Poi chi sà il C++ a maggior ragione sa anche il C, ma non viceversa.
Devi accedere o registrarti per scrivere nel forum
9 risposte