主要部以外は省略します
if(o < 0.050&&t%PR == 0 )
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",1,0,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,1,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,0,1,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,0,0,1);};
else if(o > 0.9500&&t%PR == 0 ) 228行
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,0,0,1);}; 229行
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,0,1,0);};
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,1,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",1,0,0,0);};
エラーが c:228: error: syntax error before "else"
c:229: error: syntax error before ")" token
です。何が悪いのかよくわからないためご教授下さい。変数の設定などにミスはないと思います。
C言語エラーについて質問です
Re:C言語エラーについて質問です
ifに中括弧をつけないからです。
ifに中括弧をつけない場合、次の行文までしか有効になりません。
よって、ifが無いのにelse ifが出てきたからエラーといってます。
if(o < 0.050&&t%PR == 0 ) {
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",1,0,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,1,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,0,1,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,0,0,1);};
} else if(o > 0.9500&&t%PR == 0 ) { 228行
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,0,0,1);}; 229行
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,0,1,0);};
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,1,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",1,0,0,0);};
}

ifに中括弧をつけない場合、次の行文までしか有効になりません。
よって、ifが無いのにelse ifが出てきたからエラーといってます。
if(o < 0.050&&t%PR == 0 ) {
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",1,0,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,1,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,0,1,0);};
for(l=0; l < Tp ; l++ ){printf("\n進め\n%d%d%d%d\n",0,0,0,1);};
} else if(o > 0.9500&&t%PR == 0 ) { 228行
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,0,0,1);}; 229行
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,0,1,0);};
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",0,1,0,0);};
for(l=0; l < Tp ; l++ ){printf("\n後ろ\n%d%d%d%d\n",1,0,0,0);};
}

Re:C言語エラーについて質問です
おっしゃられた通りにコンパイルしたら見事その部分のエラーが無くなりました。
しかし、今度は別のところでエラーが出てきてしまいました。
さっき書いたソースコードはvoid forward(long int t);という関数宣言した関数内のコードなのですが、
再コンパイルした際のエラーが、
c:In functon `forward":
c:318: error: syntax error at end of Input
となり、double sigmoid(double u)
{
return 1.0 / (1.0+exp(-beta*u)); 317行目
}
でなぜかエラーが出てきsてしまう始末です。想像できる範囲でよろしいので、エラーの原因を教えていただけますか?
しかし、今度は別のところでエラーが出てきてしまいました。
さっき書いたソースコードはvoid forward(long int t);という関数宣言した関数内のコードなのですが、
再コンパイルした際のエラーが、
c:In functon `forward":
c:318: error: syntax error at end of Input
となり、double sigmoid(double u)
{
return 1.0 / (1.0+exp(-beta*u)); 317行目
}
でなぜかエラーが出てきsてしまう始末です。想像できる範囲でよろしいので、エラーの原因を教えていただけますか?