Ciao ragazzi, sono nuovo e vorrei ringraziare in anticipo tutti quelli che mi risponderanno.
Mi sto preparando per l'esame di informatica e vorrei chiedervi aiuto su un esercizio.
Devo cercare in una matrice quadrata una sottomatrice piu piccola, righe e colonne devono essere inseriti dall'utente.
Quello che ho fatto fino ad ora è questo. Purtroppo non riesco ad andare avanti e a completarlo
int main(int argc, char** argv) {
int i, j, y, w;
int N1, N2;
int mat1[MAX][MAX];
int mat2[MAX][MAX];
int tr=0;
int posiz;
srand(time(NULL));
printf("Inserire la grandezza della prima matrice: ");
scanf("%d", &N1);
if(N1 > 10) {
printf("Vettore troppo grande!");
exit(1);
}
for(i=0; i<N1; i++) {
for(j=0; j<N1; j++) {
mat1[i][j] = rand () % 2;
}
}
printf("Inserire la grandezza della seconda matrice: ");
scanf("%d", &N2);
if(N2 > 10) {
printf("Vettore troppo grande!");
exit(1);
}
for(i=0; i<N2; i++) {
for(j=0; j<N2; j++) {
mat2[i][j] = rand () % 2;
}
}
system("clear"); //ripulisce lo schermo
//stampa le matrici
printf("%dX%d\n", N1, N1);
for(i=0; i<N1; i++) {
for(j=0; j<N1; j++) {
printf("%d ", mat1[i][j]);
}
puts("");
}
puts("");
printf("%dX%d\n", N2, N2);
for(i=0; i<N2; i++) {
for(j=0; j<N2; j++) {
printf("%d ", mat2[i][j]);
}
puts("");
}
//controlla se la seconda matrice puo essere compresa nella prima
if(N1 < N2) {
printf("La prima matrice non e' compresa nella prima!");
exit(1);
}
//controlla se la seconda matrice è compresa nella prima
for(i=0; i<N1; i++) {
for(j=0; j<N1; j++) {
for(y=0; y<N2; y++) {
for (w=0; w<N2; w++) {
if(mat1[i][j] == mat2[y][w]) {
printf("si");
}
}
}
}
}
return (EXIT_SUCCESS);
}