teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問の改善

2020/07/18 17:34

投稿

-_.can777
-_.can777

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- x(t) ≒ Σ[n=1,n]a*sin(2*π*f*t),a=4/(π*(2n-1)),f=2*n-1 上式を用いてN個の sin 波を足合わせて矩形波を近似するプログラム(ファイル名:20266044 _rectangularwave.c)を作成しなさい.その際,一つの 2 次元配列に足し合わせた結果を格納しなさい. た,(1)と同様に,その配列に入っている時刻と波形をテキストファイル(ファイル名:20266044 _rectangularwave.txt)に保存する。()条件:配列とポインタは必ず用い,ポインタ渡を用いて関数間で波形のデ ータをや取りするこまた構造化を意識すること。)。
4
-
3
+ 解決しましたあうござい
5
4
  ### 発生している問題・エラーメッセージ
6
5
 
7
6
  ```
@@ -18,36 +17,7 @@
18
17
 
19
18
  double calculation(int i, int len, double X, double t, double f, double a, double N, double d[])
20
19
  {
21
- double n, delta =1.0e-3;
22
- for(i=0;i<len;i++){
23
- t=(double)i*delta;
24
- for(n=1;n<N+1;n++){
25
- f = 2*n-1;
26
- a =4/(M_PI*(2*n-1));
27
- X += a*sin(2.0*M_PI*f*t);
28
- }
20
+ d
29
- d[i] = X;
30
- X=0;
31
- return 0;
32
- }
33
-
34
- int main(void){
35
- int i=10000, len=1000;
36
- double X, t, f, a, N, d[i],x;
37
- printf("N:");
38
- scanf("%d",&N);
39
- printf("time x(N=%d)\n",N);
40
-
41
- x = calculation(i,len,X,t,f,a,N,&d[0]);
42
-
43
- FILE *fp;
44
- fp = fopen("20266044_rectangularwave.txt","w");
45
- fprintf(fp,"time x(N=%d)\n",N);
46
- for(i=0;i<len;i++){
47
- printf("%lf %lf\n", t, x);
48
- fprintf(fp,"%lf %lf\n",t,x);
49
- }
50
- fclose(fp);
51
21
  return 0;
52
22
  }
53
23
  ```