不知道错哪里了 一直显示编译错误
#include<iostream>
using namespace std;
int main()
{
int n,L,r,t;
cin>>n>>L>>r>>t;
float A[n][n];
float newA[n+1][n+1],newB[n+1][n+1];
int i,j;
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
cin>>A[i][j];
}
}
//直接在主函数构造二维前缀和
float presum[n+1][n+1];
float prenum[n+1][n+1];//存储邻域元素个数
for(i=0;i<n+1;++i)//初始化为0
{
for(j=0;j<n+1;++j)
{
presum[i][j]=0;
prenum[i][j]=0;
newA[i][j]=0;
newB[i][j]=0;
}
}
//赋予newA初值
for(i=1;i<n+1;++i)
{
for(j=1;j<n+1;++j)
{
newA[i][j]=A[i-1][j-1];
newB[i][j]=1;
}
}
for(j=1;j<n+1;++j)//给第二行和第二列赋予初值
{
presum[1][j]=A[0][j-1]+presum[1][j-1];
prenum[1][j]=newB[1][j]+prenum[1][j-1];
}
for( i=1;i<n+1;++i)
{
presum[i][1]=A[i-1][0]+presum[i-1][1];
prenum[i][1]=newB[i][1]+prenum[i-1][1];
}
//构造二维前缀和
for( i=2;i<n+1;++i)
{
for( j=2;j<n+1;++j)
{
presum[i][j]=presum[i-1][j]+presum[i][j-1]-presum[i-1][j-1]+newA[i][j];
prenum[i][j]=prenum[i-1][j]+prenum[i][j-1]-prenum[i-1][j-1]+newB[i][j];
}
}
//二维前缀和构造成功
//再重新构造一个二维前缀和存储邻域元素个数
long Sum=0;
float count=0,plus=0;
int x1,x2,y1,y2;
for(i=1;i<n+1;++i)
{
for( j=1;j<n+1;++j)
{
x1=((j-r)<=1)?1:j-r;
y1=((i-r)<=1)?1:i-r;
x2=((j+r)>=n)?n:j+r;
y2=((i+r)>=n)?n:i+r;
count=prenum[x2][y2]-prenum[x1-1][y2]-prenum[x2][y1-1]+prenum[x1-1][y1-1];
plus=presum[x2][y2]-presum[x1-1][y2]-presum[x2][y1-1]+presum[x1-1][y1-1];
if(t*count>=plus)
{
++Sum;
}
}
}
cout<<Sum<<endl;
return 0;
}