永发信息网

C++错误,error C2059: syntax error : ']'

答案:2  悬赏:40  手机版
解决时间 2021-12-31 16:40
#include
#include
using namespace std;
void selectionsort1(int A[],int n)
{
for(int i=0;i<=n-2;i++)
{
int min=i;
for(int j=i+1;j<=n-1;j++)
{
if(A[j] }
swap(A[i],A[min]);
}
}

void main()
{
int A[10];
cout<<"请输入10个元素的序列;"<<"\n";
for(int i=0;i<10;i++)
{
cin>>A[i];
}
selectionsort1(A[],10);
for(int k=0;k<10;k++)
{
cout< }
}
最佳答案
selectionsort1(A[],10);
改为selectionsort1(A,10);
只传数组名
全部回答
// s:~ c++函数必须有返回类型,我这边编译有错所以在你那几个没返回类型但函数里有return 1的函数都设置了返回类型为int #include "iostream.h" #include "iomanip.h" #include "stdio.h" #include<stdlib.h> #include<math.h> #define n 20 //学习样本个数 #define in 1 //输入层神经元数目 #define hn 8 //隐层神经元数目 #define on 1 //输出层神经元数目 double p[in]; //单个样本输入数据 double t[on]; //单个样本教师数据 double w[hn][in]; //输入层至隐层权值 double v[on][hn]; //隐层至输出层权值 double x[hn]; //隐层的输入 double y[on]; //输出层的输入 double h[hn]; //隐层的输出 double o[on]; //输出层的输出 double sita[hn]; //隐层的阈值 double gama[on]; //输出层的阈值 double err_m[n]; //第m个样本的总误差 double alpha; //输出层至隐层的学习效率 double beta; //隐层至输入层学习效率 //定义一个放学习样本的结构 struct{     double input[in];     double teach[on]; }study_data[n][in];   /////////////////////////// //初始化权、阈值子程序///// /////////////////////////// int initial() {     float sgn;     float rnd;     int i,j;     //隐层权、阈值初始化//     {     //sgn=pow((-1),random(100));     sgn=rand();     rnd=sgn*(rand()%100);     w[j][i]= rnd/100;//隐层权值初始化。     }     //randomize();     {     //sgn=pow((-1),random(1000));     sgn=rand();     rnd=sgn*(rand()%1000);     sita[j]= rnd/1000;//中间层阈值初始化     cout<<"sita"<<sita[j]<<endl;     }     //输出层权、阈值初始化//     //randomize();     for (int k=0;k<on;k++) { // ☆这对大括号有没有必要加根据你的逻辑自行修改     for (int j=0;j<hn;j++)     {     //sgn=pow((-1),random(1000));     sgn=rand();     rnd=sgn*(rand()%1000);     v[k][j]=rnd/1000;//第m个样本输出层权值初始化     }     //randomize();     {     //sgn=pow((-1),random(10));     sgn=rand();     rnd=sgn*(rand()%10);     gama[k]=rnd/10;//输出层阈值初始化     cout<<"gama[k]"<<endl; // ☆ 不加括号的话,问题在于这里的k已经出了声明它的for循环体     }     } // ☆     return    1;      }//子程序initial()结束     //////////////////////////////// //// 第m个学习样本输入子程序/// /////////////////////////////// int input_p(int m) {     for (int i=0;i<in;i++)     p[i]=study_data[m]->input[i];     //获得第m个样本的数据     //cout<<"第"< //fprintf(fp,"第%d个样本的学习输入:     //p[%d]=%f\n",m,p[i]);     return 1; }//子程序input_p(m)结束   ///////////////////////////// ////第m个样本教师信号子程序// ///////////////////////////// int input_t(int m) {     for (int k=0;k<m;k++)     t[k]=study_data[m]->teach[k];     //cout<<"第"< //fprintf(fp,"第%d个样本的教师信号:t[%d]=%f\n",m,t[k]);     return 1; }// 子程序input_t(m)结束   ///////////////////////////////// //隐层各单元输入、输出值子程序/// ///////////////////////////////// int h_i_o() {     double sigma;     int i,j;     for (j=0;j<hn;j++)  {     sigma=0.0;     for (i=0;i<in;i++)     sigma+=w[j][i]*p[i];//求隐层内积     x[j]=sigma - sita[i];//求隐层净输入     h[j]=1.0/(1.0+exp(-x[j]));//求隐层输出  }     return 1; }//子程序 h_i_o()结束   /////////////////////////////////// //输出层各单元输入、输出值子程序/// /////////////////////////////////// int o_i_o() {     double sigma;     for (int k=0;k<on;k++)  {     sigma=0.0;     for (int j=0;j<hn;j++)     sigma+=v[k][j]*h[k];//求输出层内积     y[k]=sigma-gama[k]; //求输出层净输入     o[k]=1.0/(1.0+exp(-y[k]));//求输出层输出  }     return 1; }//子程序 o_i_o()结束   //////////////////////////////////// //输出层至隐层的一般化误差子程序//// //////////////////////////////////// double d_err[on]; int err_o_h(int m) {     double abs_err[on];//每个样本的绝对误差都是从0开始的     double sqr_err=0;//每个样本的平方误差计算都是从0开始的     //for (int output=0;output<on;output++)  //output???     for (int k=0;k<on;k++)  {     abs_err[k]=t[k]-o[k];     //求第m个样本下的第k个神经元的绝对误差     sqr_err+=(abs_err[k])*(abs_err[k]);//求第m个样本下输出层的平方误差     d_err[k]=abs_err[k]*o[k]*(1.0-o[k]);//d_err[k]输出层各神经元的一般化误差     err_m[m]=sqr_err/2;//第m个样本下输出层的平方误差/2=第m个样本的均方误差  } return 1; }// 子程序err_o_h(m)结束   //////////////////////////////////// //隐层至输入层的一般化误差子程序//// //////////////////////////////////// double e_err[hn]; int err_h_i() {     double sigma;     //for (int hidden=0;hidden     for (int j=0;j<hn;j++)  {     sigma=0.0;     for (int k=0;k<on;k++)     sigma=d_err[k]*v[k][j];     e_err[j]=sigma*h[j]*(1-h[j]);//隐层各神经元的一般化误差  } return 1; }// 子程序err_h_i()结束   //////////////////////////////////////////////////////// //输出层至隐层的权值调整、输出层阈值调整计算子程序////// //////////////////////////////////////////////////////// int delta_o_h(int m,file* fp) {     for (int k=0;k<on;k++)  {     for (int j=0;j<hn;j++)     //cout<<"第"< fprintf(fp,"第%d个样本时的输出层至隐层的权值为:%f\n",m,w[k][j]);     v[k][j]+=alpha*d_err[k]*h[j];//输出层至隐层的权值调整        gama[k]+=alpha*d_err[k];//输出层至隐层的阈值调整  } return 1; }//子程序 delta_o_h()结束   ///////////////////////////////////////////////////// //隐层至输入层的权值调整、隐层阈值调整计算子程序///// ///////////////////////////////////////////////////// int delta_h_i(int m,file* fp) {     for (int j=0;j<hn;j++)  {     for (int i=0;i<in;i++)     //cout<<"第"< fprintf(fp,"第%d个样本时的输出层至隐层的权值为:%f\n",m,v[j][i]);     w[j][i]+=beta*e_err[j]*p[i];//隐层至输入层的权值调整     sita[j]+=beta*e_err[j];  } return 1; }//子程序delta_h_i()结束   ///////////////////////////////// //n个样本的全局误差计算子程序//// ///////////////////////////////// double err_sum() {     double total_err=0;     for (int m=0;m<n;m++)  {     total_err+=err_m[m];//每个样本的均方误差加起来就成了全局误差  } return 1; }//子程序err_sum()结束   int main() {     file *fp;     double sum_err;  double total_err;          if ((fp=fopen("bp.txt","a+"))==null)     {     printf("不能创建bp.txt文件!\n");     exit(1);     }     cout<<"请输入输出层到隐含层学习效率: alpha=\n";     cin>>alpha;          cout<<"请输入隐含层到输入层学习效率: beta=\n";     cin>>beta;          int study=0; //学习次数     double pre_error ; //预定误差     cout<<"请输入预定误差: pre_error= \n";     cin>>pre_error;          int pre_times;     cout<<"请输入预定最大学习次数:pre_times=\n";     cin>>pre_times;          cout<<"请输入学习样本数据\n";     {     for (int m=0;m<n;m++) {     cout<<"请输入第"<<m+1<<"组学习样本"<<endl;     for (int i=0;i<in;i++)     cin>>study_data[m]->input[i];     }     }   cout<<"请输入教师样本数据\n";     {       for (int m=0;m<n;m++) {     cout<<"请输入第"<<m+1<<"组教师样本"<<endl;     for (int k=0;k<on;k++)     cin>>study_data[m]->teach[k];     }     }          initial(); //隐层、输出层权、阈值初始化 (1)     do     {     ++study; ///???     for (int m=0;m<n;m++)     {     input_p(m); //输入第m个学习样本 (2)     input_t(m);//输入第m个样本的教师信号 (3)     h_i_o(); //第m个学习样本隐层各单元输入、输出值 (4)     o_i_o(); //第m个学习样本输出层各单元输入、输出值 (5)     err_o_h(m); //第m个学习样本输出层至隐层一般化误差 (6)     err_h_i(); //第m个学习样本隐层至输入层一般化误差 (7)     delta_o_h(m,fp); //第m个学习样本输出层至隐层权阈值调整、修改 (8)     delta_h_i(m,fp); //第m个学习样本隐层至输入层权阈值调整、修改 (9)     } //全部样本训练完毕          sum_err=err_sum(); //全部样本全局误差计算 (10)     {     cout<<"第"<<study<<"次学习的均方误差为"<<sum_err<<endl;     fprintf(fp,"第%d次学习的均方误差为:%f\n",study,sum_err);     }          while (sum_err > pre_error)    //or(study     { //n个样本全局误差小于预定误差否? 小于则退出 (11)     cout<<"网络已经学习了"<<study<<"次,学习的均方误差为"<<sum_err<<endl;     fprintf(fp,"网络已经学习了%d次,现在的全局误差为:%f\n",study,total_err);     fclose(fp);     }     char s;     cout<<"请随便输入一个字符,按回车退出程序!\n";     cin>>s;     return 1;     } while(1); // ☆ do-while没有while,具体条件是什么根据自己的需要修改 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
灵字多少笔画
[甲]于是入朝见威王,曰:“臣诚知不如徐公
华为mate10屏幕是oled吗
大清朝的戊辰年是那一年
单选题We wouldn’t have had
汽车的英语单词怎么写
单选题1810~1826年,拉丁美洲独立战争主要反
汽车团购能便宜多少?
消灭的灭可以组什么词
单选题古代士兵为了能及早听到夜袭的敌人的马
cf烈锋和威锋哪个好 穿越火线烈锋和威锋获
酿这个字怎么读,酿怎么念,酿怎么拼音,酿怎
周朝一共多少年 周朝一共有多少年
下列说法正确的是A.单质都是双原子分子B.气态
一编织袋能装多少立锯末
推荐资讯
证券开户,是选平安还是招商呢,那个佣金低?
谁能告诉我这手表是不是正品
It’s strange that she have failed to see
浮梁县老年体育协会地址在什么地方?想过去办
咏鹅是属于哪一类的古诗?四季美景还是热爱自
桔是多音字吗
怎么打开有密码的Word文件
什么的长江填合适的词
求鹿鼎记黄晓明版百度网盘,谢谢
谁有企业认证过的58同城账号帮我看一份简历
奔驰c180l改款运动版有多少个安全气囊
下列各句中,加点的成语使用正确的一项是(3
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?