Salve a tutti,
mi serve un programma che mi genera una matrice i cui elementi sono o + 1 oppure -1 (in maniera casuale). Il programma mi funziona per matrici fino a 4x4 ma da n=5 in poi mi va in segmentation fault. Qualcuno può aiutarmi? Il programma è il seguente
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int generatore(void){
int x;
x=rand()%101;
if(x>50){
x=1;
}
else{
x=-1;
}
return x;
}
int main(){
int i, j, n;
srand(time(NULL));
printf("Inserire dimensione matrice\n");
scanf("%d", &n);
int **a;
a=(int**)calloc(n, sizeof(int));
for(i=0;i<n;i++){
a[i]=(int*)calloc(n, sizeof(int));
}
for(i=0; i<n; i++){
for(j=0;j<n; j++){
a[i][j]=generatore();
}
}
//STAMPA A SCHERMO
for(i=0;i<n;i++){
printf("\n");
for(j=0;j<n;j++){
printf("%d\t", a[i][j]);
}
}
return 0;
}
Grazie dell'aiuto.