de asemenea am luat testele de la oni si,uimitor,imi da aceeasi eroare si in mingw
ies undeva din stiva sau ceva?
Cod:
#include <stdio.h>
FILE *f,*g;
char a[1005][1005];
long s;
int n,m,h,i,j,k;
long cauta(int ii,int jj)
{
long aux;
aux=1;
a[ii][jj]=0;
if((a[ii][jj-1]<h)&&(a[ii][jj-1])){aux=aux+cauta(ii,jj-1);}
if((a[ii][jj+1]<h)&&(a[ii][jj+1])){aux=aux+cauta(ii,jj+1);}
if((a[ii+1][jj]<h)&&(a[ii+1][jj])){aux=aux+cauta(ii+1,jj);}
if((a[ii-1][jj]<h)&&(a[ii-1][jj])){aux=aux+cauta(ii-1,jj);}
return aux;
}
int main()
{
f=fopen("tsunami.in","r");
g=fopen("tsunami.out","w");
fscanf(f,"%d%d%d",&n,&m,&h);
for(i=1;i<=n;i++){
a[i][0]=11;
a[i][m+1]=11;
}
for(j=1;j<=m;j++){
a[0][j]=11;
a[n+1][j]=11;
}
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
fscanf(f,"%d",&k);
if(k>=11){a[i][j]=11;}
else{a[i][j]=k;}
}
}
s=0;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
if((a[i][j]<h)&&(a[i][j])){
if((a[i][j-1]==0)||(a[i][j+1]==0)||(a[i+1][j]==0)||(a[i-1][j]==0)){
s=s+cauta(i,j);
}
}
}
}
fprintf(g,"%d",s);
fclose(f);
fclose(g);
return 0;
}
Editat de moderator: Foloseste tagul code pentru a afisa codul sursa.
