Salve. Devo svolgere una traccia in cui dobbiamo creare attraverso sottoprogrammi due matrici di cui una ha dimensioni L1 e una L2. Su questo non ci sono problemi, quello che non è capito è la parte successiva. Dopo aver determinato quale delle due matrici ha dimensione più piccola e in quella più grande dobbiamo trovare una sottomatrice centrale che abbia lato della dimensione della piccola. Ovvero se L1<L2, nella matrice di dimensione L2 devo trovare una sottomatrice centrale di dimensione L1. Non riesco a capire proprio il procedimento della sottomatrice. Non m'interessa il codice, vorrei capirlo. Grazie
#include <iostream>
using namespace std;
void leggiprima(int *M1, int L1);
void leggiseconda(int *M2, int L2);
bool prodottomaggiore();
int i;
int j;
int main()
{
int L1;
int L2;
cout<<"Inserisci la dimensione della prima matrice"<<endl;
cin>>L1;
int M1[L1][L1];
leggiprima(&M1[0][0],L1);
cout<<"Inserisci la dimensione della seconda matrice"<<endl;
cin>>L2;
int M2[L2][L2];
leggiseconda(&M2[0][0],L2);
if(L1>L2) {
cout<<"La prima matrice e' quella di lato maggiore"<<endl;
}else cout<<"La seconda matrice e' quella di lato maggiore"<<endl;
}
return 0;
}
void leggiprima(int *M1, int L1){
for(i=0;i<L1;i++){
for(j=0;j<L1;j++){
cout<<"Inserisci l'elemento di posto" <<i<<";"<<j<<":";
cin>>*(M1+i*L1+j);
}
}
}
void leggiseconda(int*M2, int L2){
for(i=0;i<L2;i++){
for(j=0;j<L2;j++){
cout<<"Inserisci l'elemento di posto" <<i<<";"<<j<<":";
cin>>*(M2+i*L2+j);
}
}
}