redefinition of formal parameter 'temp'
#include
#include
#define LENGTH 512
void Covlution(double data[], double core[], double cov[], int n, int m)
{ int i = 0;
int j = 0;
int k = 0;
for(i = 0; i < n; i++) { cov[i] = 0; }
i = 0;
for(j = 0; j < m/2; j++, i++)
{ for(k = m/2-j; k < m; k++ )
{ cov[i] += data[k-(m/2-j)] * core[k]; }
for(k = n-m/2+j; k < n; k++ )
{ cov[i] += data[k] * core[k-(n-m/2+j)];
}
}
for( i = m/2; i <= (n-m)+m/2; i++)
{ for( j = 0; j < m; j++)
{ cov[i] += data[i-m/2+j] * core[j];
}
}
i = (n - m) + m/2 + 1;
for(j = 1; j < m/2; j++, i++)
{ for(k = 0; k < j; k++) { cov[i] += data[k] * core[m-j-k]; }
for(k = 0; k < m-j; k++) { cov[i] += core[k] * data[n-(m-j)+k];
}
}
}
void DWT1D(double input[], double output[], double temp[], double h[], double g[], int n, int m)
{ double temp[LENGTH] = {0};
int i = 0;
Covlution(input, h, temp, n, m);
for(i = 0; i < n; i += 2)
{ output[i] = temp[i]; }
Covlution(input, g, temp, n, m);
for(i = 1; i < n; i += 2) { output[i] = temp[i]; }
Covlution(input, h, temp, n, m);
for(i = 0; i < n; i += 2) { output[i/2] = temp[i]; }
Covlution(input, g, temp, n, m);
for(i = 1; i < n; i += 2) { output[n/2+i/2] = temp[i];
}
}
void main()
{ double data[LENGTH]; double temp[LENGTH]; double data_output[LENGTH]; int n = 0; int m = 6;
int i = 0; char s[32];
static double h[] = {.332670552950, .806891509311, .459877502118, -.135011020010, -.085441273882, .035226291882}; static double g[] = {.035226291882, .085441273882, -.135011020010, -.459877502118, .806891509311, -.332670552950};
FILE *fp;
fp=fopen("data.txt","r");
if(fp==NULL)
{ printf("错误!找不到要读取的文件/"data.txt/"/n"); exit(1); }
while( fgets(s, 32, fp) != NULL )
{ fscanf(fp,"%d", &data[count]);
data[n] = atof(s);
n++;
}
DWT1D(data, data_output, temp, h, g, n, m);
fp=fopen("data_output.txt","w");
for(i = 0; i < n; i++)
{ printf("%f/n", data_output[i]);
fprintf(fp,"%f/n", data_output[i]);
}
fclose(fp);
}
Cpp1.cpp(32) : error C2082: redefinition of formal parameter 'temp'
G:\Cpp1.cpp(52) : error C2146: syntax error : missing ')' before identifier 'data'
G:\Cpp1.cpp(52) : error C2059: syntax error : ')'
G:\Cpp1.cpp(54) : error C2065: 'count' : undeclared identifier
Error executing cl.exe.
Cpp1.obj - 4 error(s), 0 warning(s)
补充:程序有几处错,你的32行
double temp[LENGTH] = {0};
这个是多余的定义(tmep已在参数中定义了)
另外
你程序中的\全写成/了
C/C++只有"\n",没有"/n"的
(如果网上抄的程序的话,会有很多错的)
如52行
printf("错误!找不到要读取的文件/"data.txt/"/n");
应该是
printf("错误!找不到要读取的文件\"data.txt\"\n");
(其它地方的/n也要改)
还有就是54行
fscanf(fp,"%d", &data[count]);
你的count没定义
(没研究你的程序,只是语法上看下)
追问:G:\Cpp1.cpp(52) : error C2146: syntax error : missing ')' before identifier 'data' 这个呢 我实在找不到错在哪里