ciao a tutti ho un po di difficolta con la funzione realloc e vorrei iniziare da un caso base.
Dato un vettore creato in maniera dinamica in una funzione voglio reallocarlo da n*n elementi a
n+1*n+1 e azzerarlo tutto.
se ad esempio n =2 in output mi azzera fino al elemento 8 ((n+1)*(n+1)-1)dopo va in loop. spero mi aiutate grazie in anticipo .codice:void RIEMPI(int n,int **vt) { int i; *vt=(int*)malloc(sizeof(int)*n*n); for (i=0; i<n*n; i++) { printf("dammi l elemento %d : ",i); scanf("%d",&((*vt)[i])); } } void INSERISCI_NODO(int n, int **vt)/*inseriamo un nodo isolato al grafo*/ { int i; *vt=(int*)realloc(*vt,(n+1*n+1)); for (i=0; i<((n+1)*(n+1)); i++) (*vt)[i]=0; } int main() { int nodi,i; int *vet=NULL; printf("dammi il numero di nodi : \n"); scanf("%d",&nodi); RIEMPI(nodi,&vet); INSERISCI_NODO(nodi,&vet); printf("valore del vettore e' : \n"); for (i=0; i<(nodi+1)*(nodi+1); i++) printf("%d valore %d \n",i,vet[i]); printf("\n"); system("PAUSE"); }

Rispondi quotando