Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve ragazzi, il mio problema riguarda in particolare la prima parte della traccia dell'esercizio che sto risolvendo. Quello che chiede innanzitutto è di creare una matrice sparsa con delle liste linkate, questo è quindi il codice che ho implementato:
Codice sorgente - presumibilmente C++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
struct node_elem {
short info;
short row;
short column;
struct node_elem *next_elem;
};
struct node_row {
short row_num;
struct node_row *next_row;
struct node_elem *first_elem;
};
typedefstruct node_elem ELEMENT;
typedef ELEMENT *ELINK;
ELINK epunt;
typedefstruct node_row ROW;
typedef ROW *LINK;
LINK head, punt;
void* make_rows();
void mat_1_maker(short, short);
void head_inseriment(short, ROW *, ROW **);
void elem_inseriment(short, ELEMENT *, ELEMENT **);
void elem_inseriment(short len_info, ELEMENT *data, ELEMENT **first_elem){
ELEMENT *ptr =(ELEMENT *)calloc(1, sizeof(ELEMENT));
memcpy(ptr, data, len_info);
ptr->next_elem =*first_elem;
*first_elem = ptr;
}
Praticamente il mio problema sta nel fatto che nonostante il ciclo FOR che viene ripetuto tante quante sono le colonne che vogliamo nella matrice cicli, ebbene nonostante questo, vi è sempre uno ed un solo elemento che viene inserito nella lista che dovrebbe contenere gli elementi non nulli della matrice. Non riesco a capire il perchè di questo comportamento sinceramente..