Problema nella scrittura di un programma in c

di il
4 risposte

Problema nella scrittura di un programma in c

Salve, vi scrivo per sapere se potete aiutarmi nella risoluzione di un problema riscontrato durante la scrittura di un programma. Il testo richiede che venga creato una vettore di R elementi(int) da allocare dinamicamente, inoltre ogni elemento di questo vettore deve contenere a sua volta un puntatore a un vettore allocato dinamicamente, dove ogni cella sia una struct di due elementi(int).
Qualcuno saprebbe dirmi come creare questa struttura e nel caso scriverla?
Grazie.

4 Risposte

  • Re: Problema nella scrittura di un programma in c

    Se ti chiedessero di allocare un vettore di interi lo sapresti fare? Scriveresti:
    int *vett; poi procederesti con l'allocazione.
    Bene ti hanno chiesto di allocare un vettore di puntatori ad una struttura, quindi scrivi la struttura poi *vett sarà; **vett allochi il vettore di puntatori, poi con un ciclo allochi i vari vettori.
  • Re: Problema nella scrittura di un programma in c

    Typedef struct mat {

    int col;
    int val;

    } Mmat;

    int main() {

    Mmat *vett2;
    int *vett1;

    vett1 = (int *)malloc(R*sizeof(int));
    vett2 = (Mmat *)malloc(R*sizeof(Mmat));

    return 0;
    }

    Ho scritto cosi per dichiare i due vettori solo che adesso non so prendere la prima casella del vett1 ed inserire il puntatore al vett2, e via facendo fino alla fine del vett1.
  • Re: Problema nella scrittura di un programma in c

    
    typedef struct mat {
    
    int col;
    int val;
    
    } Mmat;
    
    int main() {
    
    Mmat **vett2;
    
    vett2 = (Mmat **)malloc(R*sizeof(Mmat *));
    for(i=0;i<R....
    vett2[i]=...malloc
    
    return 0;
    }
    
  • Re: Problema nella scrittura di un programma in c

    Grazie mille, in effetti creare una matrice era la soluzione più semplice!!
Devi accedere o registrarti per scrivere nel forum
4 risposte