Ho iniziato a vedere un po' come allocare dinamicamente la matrice A... x escludere le cose che riguardano la matrice B x ora le ho commentate... con l'allocazione dinamica funziona tutto alla grande (dopo il suggerimento della printf ), ma ora non riesco a capire dove sbaglio...lo compila e m da come warning le var che riguardano la matrice B x il fatto che non sono utilizzate(OVVIO)...quando lo eseguo m chiede il numero di righe/colonne che deve avere la matrice e poi "Segmentation fault"...perchè???
ah, per quanto riguarda il numero di righe e colonne ci ho aggiunto la validazione xke non deve essere minore o uguale a zero!!!
ecco il codice.....
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int riga1,
riga2;
int colonna1,
colonna2;
int n_rc, /*numero di righe/colonne*/
n_tot, /*numero totale degli elementi*/
i; /* contatore*/
int **matrice1,
**matrice2;
FILE *a,
*b;
int esito_lettura; /* lavoro: esito lettura */
char carattere_non_letto; /* lavoro: carattere non letto */
do
{
printf("Digita il numero ri righe che deve avere la matrice (0 < ) ");
esito_lettura = scanf("%d",
&n_rc);
if (esito_lettura != 1 || n_rc < 0)
{
do
{
carattere_non_letto = scanf("%c",
&carattere_non_letto);
}
while (carattere_non_letto != '\n');
}
} while (esito_lettura != 1 || n_rc < 0);
a = fopen("matrice_A.txt", "r");
b = fopen("matrice_B.txt", "r");
matrice1 = (int**)calloc(n_rc, sizeof(int*));
for(riga1=0; riga1<n_rc; riga1++)
for(colonna1=0; colonna1<3; colonna1++)
fscanf(a, "%d%d", &riga1, &colonna1);
for(i=0; i<n_tot; i++)
matrice1[n_tot] = (int*)calloc(n_rc, sizeof(int));
/*for(riga2=0; riga2<n_rc; riga2++)
for(colonna2=0; colonna2<3; colonna2++)
fscanf(b, "%d", &matrice2[riga2][colonna2]);*/
fclose(a);
/* fclose(b);*/
for(riga1=0; riga1<n_rc; riga1++)
{
for(colonna1=0; colonna1<n_rc; colonna1++)
printf("%d ", matrice1[riga1][colonna1]);
printf("\n");
}
printf("\n");
/* for(riga2=0; riga2<n_rc; riga2++)
{
for(colonna2=0; colonna2<n_rc; colonna2++)
printf("%d ", matrice2[riga2][colonna2]);
printf("\n");
}*/
return(0);
}
grazie ancora e scusa del disturbo