Array di Puntatori

di il
2 risposte

Array di Puntatori

Salve a tutti,
Mi trovo davanti ad un esercizio che richiede l'utilizzo di un array di puntatori i quali puntino ad una lista.
Il problema sussiste nel fatto che il compilatore non segnala alcun Warning, ma, il programma si blocca nel momento in cui utilizzo l'array di puntatori. ( premetto che è ancora Work in Progess).
Ringrazio in anticipo chiunque riesca a darmi qualche dritta!

Testo:

Scrivere un programma che generi con valori binari pseudo casuali una matrice A di dimensione
n x m . Stampare la matrice. Costruire un vettore B di puntatori di lunghezza n tàle che l’elemento
B punti àd unà listà i cui elementi contengono l’indice di colonnà degli elementi non nulli dell’iesima
riga della matrice A. Stampare le n liste così ottenute.


Codice:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>

typedef struct lista{
	int* Vettore;
	struct lista *next;
}t_lista_elem;

typedef t_lista_elem t_lista;


int inserisci_righe();
int inserisci_colonne();
int genera_numero();

int main(){
	int r,c,n,i,j;
	printf("Main\n");
	r=inserisci_righe();
	c=inserisci_colonne();
	int matrixA[r][c];
	t_lista *B[r];
	printf("\nMatrice A: \n");
	for(i=0;i<r;i++){
		for(j=0;j<c;j++){
			n=genera_numero();
			matrixA[i][j]=n;
			printf("%d\t",matrixA[i][j]);
			if(n!=0){
				B[i]=NULL;;
				B[i]->Vettore[i]=j;  // Si blocca qua.###################
				B[i]=B[i]->next;
			}
		}
		printf("\n");
	}
	return 0;
}

int inserisci_righe(){
	int n;
	printf("\nInserisci numero righe della matrice A: ");
	scanf("%d",&n);
	return n;
}

int inserisci_colonne(){
	int n;
	printf("\nInserisci numero colonne della matrice A: ");
	scanf("%d",&n);
	return n;
}

int genera_numero(){
	int numero;
	numero = (rand() % 2);
	return numero;
}

2 Risposte

  • Re: Array di Puntatori

    B[i]=NULL;;
                B[i]->Vettore[i]=j;  // Si blocca qua.###################
    Scusa ma cosa vorresti fare con queste due righe?
  • Re: Array di Puntatori

    Chiedo scusa se ho scritto qualcosa di profano, ma sono alle prime armi.
    Pensavo di andare a prendere l'elemento di B ed andare ad inserire all'interno della struttura l'indice di colonna...
    Come dovrei scriverlo in realtà?
Devi accedere o registrarti per scrivere nel forum
2 risposte