Salve a tutti, ho un problema con questo esercizio:
"La mappa di un territorio viene schematizzata tramite una matrice di dimensioni M per N, all'interno della quale ogni elemento contiene un numero intero che rappresenta in metri l'altezza del terreno in quella zona. In un elemento di cui sono note le coordinate di riga e di colonna, è presente una sorgente d'acqua. Sapendo che l'acqua può scendere in tutte le direzioni verso punti con quota monore o uguale ma che non può risalire verso punti di quota superiore, fornire la mappa delle zone che verranno allagate(con un *) e non allagate(con un .) ".
Questo è quello che ho fatto io, il problema è che mi dà un errore nella funzione allaga, e non so perché.
#include <iostream>
using namespace std;
const int r=10, c=15;
void allaga (int pr, int pc, int M[r][c], char[Ma][c+1])
{
int L, m;
for (L=pr-1; L<pr+1; L++)
{
if (0=L<r)
{
for (m=pc-1; m<=pc+1; m++)
{
if (0<=m<c)
{
if (M[L][m]=='o')
{
if(M[L][m]<=m[pr][pc])
Ma[L][m]='*';
else
Ma[L][m]= '.';
}}}}}}
int conta_indecise(char MA[r][c+1])
{
int c=0, L, m;
for (L=0; L<r; L++)
for(m=0; m<c+1; M++)
if(Ma[L][m]=='0')
c++;
return c;
}
main (){
int i,j,r,c,M[r][c],k=0,y;
char Ma[r][c+1]='o';
for (i=o; i<r; i++)
for (j=0; j<c; j++)
{
cout<<" Inserire l'altezza zona di coordinate "<<i<<" "<<j<<endl;
cin>> M[i][j];
}
cout<<" Inserire coordinate posizione sorgente "<<endl;
cin>> y;
cin>> c;
allaga(r,c,M,Ma);
k=conta_indecise(Ma);
while (k>0)
{
for(i=0; i<r; i++)
for(j=0; j<r; j++)
if(Ma[i][j]=='*')
allaga(i,j,M,Ma);
k=conta_indecise(Ma);
{
cout<< Stampa il territorio con le zone allagate "<<endl;
for(i=0; i<r; i++)
for(j=0; j<c; j++)
{
cout<<Ma[i][j]<<" ";
cout<<endl;
}
system ("pause");
}