質問編集履歴
2
ソースコードの変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,84 +11,77 @@
|
|
11
11
|
回答してくれた方はとてもありがたいのいですが、
|
12
12
|
下記のもので間違っているところを指摘していただけたら幸いです。
|
13
13
|
|
14
|
-
|
15
14
|
double hscan(void){
|
16
15
|
|
17
|
-
|
16
|
+
double h;
|
18
17
|
printf("h?");
|
19
|
-
scanf("%lf",h);
|
18
|
+
scanf("%lf",&h);
|
20
19
|
|
21
20
|
return h;
|
22
21
|
}
|
23
22
|
|
24
23
|
double u0scan(void){
|
25
24
|
|
26
|
-
|
25
|
+
double u0;
|
27
26
|
printf("u0?");
|
28
|
-
scanf("%lf",u0);
|
27
|
+
scanf("%lf",&u0);
|
29
28
|
|
30
29
|
return u0;
|
31
30
|
}
|
32
31
|
|
33
32
|
double vy(double vy1){
|
34
33
|
|
35
|
-
double
|
34
|
+
double vy2;
|
36
|
-
double a;
|
37
|
-
|
35
|
+
vy2=vy1-9.8*0.1;
|
38
|
-
|
36
|
+
vy1=vy1-9.8*0.1;
|
39
37
|
|
40
|
-
return
|
38
|
+
return vy2;
|
41
39
|
}
|
42
40
|
|
43
|
-
double placey(double
|
41
|
+
double placey(double y,double vy2){
|
44
42
|
|
45
|
-
double
|
43
|
+
double y1;
|
46
|
-
double b;
|
47
|
-
|
44
|
+
y1=y+vy2*0.1;
|
48
|
-
|
45
|
+
y+=vy2*0.1;
|
49
46
|
|
50
|
-
return
|
47
|
+
return y;
|
51
48
|
}
|
52
49
|
|
53
50
|
double vx(double vx1){
|
54
51
|
|
55
|
-
double
|
52
|
+
double vx2;
|
56
|
-
double c;
|
57
|
-
|
53
|
+
vx2=vx1;
|
58
|
-
vx2=&c;
|
59
54
|
|
60
|
-
return
|
55
|
+
return vx2;
|
61
56
|
}
|
62
57
|
|
63
|
-
double placex(double
|
58
|
+
double placex(double x,double vx1){
|
64
59
|
|
65
|
-
double
|
60
|
+
double x1;
|
66
|
-
double d;
|
67
|
-
|
61
|
+
x1=x+vx1*0.1;
|
68
|
-
|
62
|
+
x+=vx1*0.1;
|
69
63
|
|
70
|
-
return
|
64
|
+
return x1;
|
71
65
|
}
|
72
66
|
|
73
67
|
int main(void){
|
74
68
|
|
75
69
|
double h,u0,x,y,u,v;
|
76
70
|
|
77
|
-
h=hscan;
|
71
|
+
h=hscan();
|
78
|
-
u0=u0scan;
|
72
|
+
u0=u0scan();
|
73
|
+
|
79
74
|
do {
|
75
|
+
|
80
76
|
u=vx(u0);
|
81
77
|
x=placex(0,u0);
|
82
78
|
v=vy(0);
|
83
|
-
y=placey(h,
|
79
|
+
y=placey(h,0);
|
84
80
|
|
85
81
|
} while(y>0);
|
86
82
|
|
87
83
|
printf("u=%lf,v=%lf,x=%lf,y=%lf",u,v,x,y);
|
88
84
|
|
89
|
-
}
|
90
|
-
|
91
|
-
|
92
85
|
return 0;
|
93
86
|
|
94
87
|
}
|
1
ソースコードを追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,4 +5,90 @@
|
|
5
5
|
1.初期条件h、u0を入力する関数
|
6
6
|
2.x,y,u,vを計算する関数
|
7
7
|
の2つの関数を必ず作成しなければなりません。
|
8
|
-
ご教授のほど宜しくお願い致します。
|
8
|
+
ご教授のほど宜しくお願い致します。
|
9
|
+
|
10
|
+
すみません。下記が自分で作ったソースコードです。
|
11
|
+
回答してくれた方はとてもありがたいのいですが、
|
12
|
+
下記のもので間違っているところを指摘していただけたら幸いです。
|
13
|
+
|
14
|
+
|
15
|
+
double hscan(void){
|
16
|
+
|
17
|
+
double h;
|
18
|
+
printf("h?");
|
19
|
+
scanf("%lf",h);
|
20
|
+
|
21
|
+
return h;
|
22
|
+
}
|
23
|
+
|
24
|
+
double u0scan(void){
|
25
|
+
|
26
|
+
double u0;
|
27
|
+
printf("u0?");
|
28
|
+
scanf("%lf",u0);
|
29
|
+
|
30
|
+
return u0;
|
31
|
+
}
|
32
|
+
|
33
|
+
double vy(double vy1){
|
34
|
+
|
35
|
+
double *vy2;
|
36
|
+
double a;
|
37
|
+
a=vy1-9.8*0.1;
|
38
|
+
vy2=&a;
|
39
|
+
|
40
|
+
return *vy2;
|
41
|
+
}
|
42
|
+
|
43
|
+
double placey(double y1,double *vy2){
|
44
|
+
|
45
|
+
double *y2;
|
46
|
+
double b;
|
47
|
+
b=y1+*vy2*0.1;
|
48
|
+
y2=&b;
|
49
|
+
|
50
|
+
return *y2;
|
51
|
+
}
|
52
|
+
|
53
|
+
double vx(double vx1){
|
54
|
+
|
55
|
+
double *vx2;
|
56
|
+
double c;
|
57
|
+
c=vx1;
|
58
|
+
vx2=&c;
|
59
|
+
|
60
|
+
return *vx2;
|
61
|
+
}
|
62
|
+
|
63
|
+
double placex(double x1,double vx1){
|
64
|
+
|
65
|
+
double *x2;
|
66
|
+
double d;
|
67
|
+
d=x1+vx1*0.1;
|
68
|
+
x2=&d;
|
69
|
+
|
70
|
+
return *x2;
|
71
|
+
}
|
72
|
+
|
73
|
+
int main(void){
|
74
|
+
|
75
|
+
double h,u0,x,y,u,v;
|
76
|
+
|
77
|
+
h=hscan;
|
78
|
+
u0=u0scan;
|
79
|
+
do {
|
80
|
+
u=vx(u0);
|
81
|
+
x=placex(0,u0);
|
82
|
+
v=vy(0);
|
83
|
+
y=placey(h,&v);
|
84
|
+
|
85
|
+
} while(y>0);
|
86
|
+
|
87
|
+
printf("u=%lf,v=%lf,x=%lf,y=%lf",u,v,x,y);
|
88
|
+
|
89
|
+
}
|
90
|
+
|
91
|
+
|
92
|
+
return 0;
|
93
|
+
|
94
|
+
}
|