- ベストアンサー
かなりの初心者なのですが...
Borlandのコンパイラーを使っているのですが、 以下のコードを書いたときに #include <stdio.h> #include <math.h> main() { double square(); double x,y; x = 1.5; y = square(x); printf("%lf\n",y); } double square(x); double x; { return(x*x); } 「エラー E2258 ここには宣言が必要だが見つからない(関数 square )」と出てコンパイルに失敗します。。例文のとおりに入力したのですがなぜこうなるのでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
- DRAGON_TAIL
- ベストアンサー率48% (27/56)
関連するQ&A
- WindowsでコンパイルできるがUNIXではできない
下記のプログラムは、2^-0.94を計算するものです。 このプログラムはwindows2000のマシンでコンパイルできるのですが、UNIXのマシンだと Unresolved text symbol "pow" というエラーがでてコンパイルできません。 UNIXのマシンは「cc ファイル名」でコンパイルを実行します。 どうすればコンパイルできるようになるのでしょうか。お手数ですが、教えてください。よろしくお願いします。 ※windows2000マシンのコンパイラ:Borland C++ Compiler 5.5 #include <stdio.h> #include <math.h> int main() { int a; double b,c; a=2; b=-0.94; c=pow(a,b); printf("%lf\n",c); return 0; }
- ベストアンサー
- C・C++・C#
- C言語のプログラミングがうまくいきません!
先日のプログラムを作り直しました。アドバイスのおかげでエラーは減りましたが、まだ完ぺきではないようです。恐らく、elseのところがいけないと思うのですが、どうしたらいいか分かりません。 ご指摘お願いします。 #include <stdio.h> #include <math.h> void main(void) { double x ,y ,z ,error ,menseki ; double ans; printf("x ?"); scanf("%lf", &x); printf("y ?"); scanf("%lf", &y); printf("z ?"); scanf("%lf", &z); if(x<y+z || y<x+z || z<x+y) { ans=(x+y+z)/2; menseki=sqrt(ans*(ans-x)*(ans-y)*(ans-z)); } if(x==y && y==z && z==x) { printf("正三角形です"); printf("面積は%lfです" , menseki); } else if(x==y || y==z || z==x) { printf("二等辺三角形です"); printf("面積は%lfです" , menseki); } else { printf("三角形です"); printf("面積は%lfです" , menseki); } else { printf("error"); } }
- ベストアンサー
- C・C++・C#
- プログラムの作成
Cで、キ-ボ-ドから整数を1個(mとする)、実数を1個(xとする)それぞれ入力し、 S=Σ(n=0からmまで)1/2n+1×(x-1/x+1)^2n+1 の値を求めるプログラムを作ってみたのですが、あってるかどうかわかりますか? #include<stdio.h> #include<math.h> main() { double y=0; int i,m,x; printf(\" Input m: \") scanf(\"%lf\", &m); printf(\" Input x: \") scanf(\"%lf\", &x); for(i=0; i <= m; i++) { y += 1/(2*i+1)*pow((x-1)/(x+1),2*i+1) } printf(\" S = %d\n\", y) }
- ベストアンサー
- その他(プログラミング・開発)
- C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると
C言語で乱数がうまく効きません。下記のソースでコンパイルして実行すると結果が130固定となってしまいます。 #include <stdio.h> #include <stdlib.h> int main(void){ int x; x = rand(); printf("%d",x); return 0; } 使っているコンパイラはBorland C++ 5.5.1です。何か間違いでもあるのでしょうか?よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 値の渡し方?(初心者)
以前質問したプログラムについて、新たに質問です。 メインプログラムと、関数プログラムを組みました。 関数の中では、print文を使うと計算は正しく行われていて、結果が正しいことが分かりました。 でうが、メイン文の出力では、どこにも出てこない変な値が出てきてしまいます。 値の渡し方がおかしいのでしょうか? 誰か、アドバイスをお願いします。 ***以下プログラムです。*** #include <stdio.h> #include <math.h> double gamma(double x) { double c[9],y,a,r,b,s,z; int i; a=1.; r=1.; c[1]=5.771916e-01; c[2]=9.882058e-01; c[3]=8.970569e-01; c[4]=9.182068e-01; c[5]=7.567040e-01; c[6]=4.821993e-01; c[7]=1.935278e-01; c[8]=3.586834e-02; printf("0 %f\n",x); while(1){ if(x>2.){ x=x-1.; a=a*x; printf("1 %f %f\n",x,a); } else if(x<1.){ a=a/x; x=x+1.; printf("2 %f %f\n",x,a); } else{ break; } } x=x-1.; for(i=1;i<9;i++){ b=(double)(i); s=(c[i]*((double)(pow(-1.,b)))*((double)(pow(x,b)))); printf("3 %d %f\n",i,c[i]); r=r+s; } y=a*r; printf("4 %lf\n",y); return y; } main() { double x,y; printf("数字を入力してください。"); scanf("%lf",&x); printf("メインプログラム x= %lf \n",x); y=gamma(x); printf("x= %f y= %f\n",x,y); }
- ベストアンサー
- C・C++・C#
- 極座標から直交座標に変換
極座標を直交座標に変換するプログラムです。 ptor関数を使って作成するのですが、上手く実行できません。 度からradに変換の仕方も良く分かりません。 どこが間違っているのか教えてください。 #include <stdio.h> #include <math.h> #define PI 3.14159265358979323846 struct rect{ double x; double y; }; struct pole{ double r; double theta; }; double po2(double *x, double *y, double r, double theta ) { double rad; rad = theta ; x = r * cos(rad); y = r * sin(rad); } int main(void) { double x, y; double r, theta; printf("r = "); scanf("%lf",&r); printf("theta = "); scanf("%lf",&theta); printf("(r:%f, theta:%f) => (x:%f, y:%f)\n", r, theta, x, y); return(0); }
- 締切済み
- C・C++・C#
- 定積分のプログラミングについて
刻み幅dxを入力し、f(x)=4/(1+x^2)を0~1まで定積分するというプログラムを作ったんですが、なぜか、刻み幅を入力してENTERを押すと、 ずら~~~~~っと無限に結果の文字列が出てきてしまいます。 書いたプログラムを載せるので、間違っている箇所を教えてもらえませんか。お願いします。 #include <stdio.h> #include <math.h> double f(double m); main(){ double x,F,dx; printf("Numerical integration of y=4/(1+x^2).\n"); /*刻み幅の入力*/ scanf("%lf,&dx:"); /*aとbと刻み幅*/ printf("The lowwer bound:0.0\n"); printf("The upper bound:1.0\n"); printf("The meth width:dx\n"); /*関数*/ for(x=0.0;x<1.0;x+=dx) { F=f(x); /*計算結果を出力*/ printf(" f(%lf)= 4/(1+x^2) =%lf\n",x,F); } } double f(double m) { double y; y=4/(1+m*m); return y; }
- ベストアンサー
- その他(インターネット・Webサービス)
- log(0)と-1.#INF00Pの関係
#include<stdio.h> #include<math.h> main() { double y; y=log(0); printf("%lf",y); return 0; } 上のプログラムを実行すると -1.#INF00P という結果が出力されます。 これは一体何なのでしょうか?値なのですか? http://www.okweb.ne.jp/kotaeru.php3?q=648430 ではlog(0)の影響で 1.#INF00 という結果になっているようですが、何が違うのでしょうか?
- ベストアンサー
- C・C++・C#
- 漸化式のプログラム
n=100としてn+1個の点(Xj,Yj) (j=1,2,3・・n)はどのようなグラフになるか?ただし、h=1/n, Xj=jh, Y(j+1)=Yj+hYj, Y(0)=1である。 このプログラムを教えてください。 #include <stdio.h> #include <math.h> main() { double pi, x, y; int i; pi=4*atan(1); x=1/100; y=1; for(i = 1; i<=100; ++i){ x=i*1/100; y[n+1]=y[n]+1/100*y[n]; printf("%lf %lf\n", i, x, y,); } } ではだめなんでしょうか?
- ベストアンサー
- C・C++・C#
- 10年ぶりのMacBook Pro購入を検討中。お得な購入方法を教えてください。
- SSDの容量はそこまで必要ないが、メモリは大量に積みたい。最新機種ではなくても良いが、USB Type-Cの端子がついていて速いものが良い。
- アドバイスをお願いします。秋葉原で購入するのが安いのか分からない。価格差があるならメモリ増設についても知りたい。