Salute..
Ho scritto questo programma che fa la ricerca di un particolare carattere all'interno di una matrice. Il tutto funziona ma quando mi stampa toglie fuori anche un "segmentation fault".
Ho controllato e ricontrollato il codice ma a sembra sia corretto mi affido ai vostri occhi più raffinati per farmi capire dove ho toppato
codice:
#include <stdio.h>
#define M 100
#define N 100
char mat[M][N];
main()
{
int i,j;
int m, n, k;
char ric;
/*DEFINIZIONE GRANDEZZA DELLA MATRICE*/
printf("inserisci dimensione matrice MxN\n");
scanf("%d%d", &m, &n);
for(i=0; i<m; i++)
for(j=0; j<n; j++){
printf("inserisci caratteri(%d,%d)", i, j);
scanf("%1s", &mat[i][j]);
}
/*CARICAMENTO CARATTERE DA RICERCARE*/
printf("inserisci il carattere da ricercare\n");
scanf("%1s", &ric);
/*STAMPA MATRICE*/
for(i=0; i<m; i++){
printf("\n");
for(j=0; j<n; j++)
printf("%3c", mat[i][j]);
}
printf("\n");
/*RICERCA DEL CARATTERE*/
k=0;
for(i=0; i<m; i++)
for(j=0; j<n; j++){
if(mat[i][j] == ric){
printf("%c trovato in linea %d, colonna %d \n", ric, i+1, j+1);
printf("\n");
/*RICERCA DEL CARATTERE*/
k=0;
for(i=0; i<m; i++)
for(j=0; j<n; j++){
if(mat[i][j] == ric){
printf("%c trovato in linea %d, colonna %d \n", ric, i+1, j+1);
k=1;
}
}
if(k==0){
printf("%c non presente nella matrice", ric);
}
return 0;
}
ringrazio anticipatamente