回答編集履歴

2

追加

2017/01/26 06:17

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -113,3 +113,121 @@
113
113
  }
114
114
 
115
115
  ```
116
+
117
+
118
+
119
+ ```c
120
+
121
+ #include <stdio.h>
122
+
123
+
124
+
125
+ typedef struct {
126
+
127
+ double x[500][2];
128
+
129
+ }dfpos;
130
+
131
+
132
+
133
+ void expansion(dfpos *p);
134
+
135
+ int main(){
136
+
137
+ int ret, i = 0;
138
+
139
+ FILE *fpa , *fpb;
140
+
141
+ char *fnamea = "data.csv";
142
+
143
+ char *fnameb = "data2.csv";
144
+
145
+ dfpos pos;
146
+
147
+ double x, y;
148
+
149
+
150
+
151
+ fpa = fopen(fnamea , "r");
152
+
153
+ if(fpa == NULL){
154
+
155
+ printf("ファイルが開けません");
156
+
157
+ return -1;
158
+
159
+ }
160
+
161
+ fpb = fopen(fnameb , "w");
162
+
163
+ if(fpb == NULL){
164
+
165
+ printf("ファイルが開けません");
166
+
167
+ return -1;
168
+
169
+ }
170
+
171
+
172
+
173
+ while((ret = fscanf(fpa, "%lf,%lf", &x , &y)) != EOF){
174
+
175
+ pos.x[i][0] = x;
176
+
177
+ pos.x[i][1] = y;
178
+
179
+ i++;
180
+
181
+ }
182
+
183
+ expansion(&pos);
184
+
185
+
186
+
187
+ for(i = 0; i < 500; i++){
188
+
189
+ fprintf(fpb, "%lf,%lf\n", pos.x[i][0], pos.x[i][1]);
190
+
191
+ }
192
+
193
+ fclose(fpa);
194
+
195
+ fclose(fpb);
196
+
197
+ }
198
+
199
+
200
+
201
+ void expansion(dfpos *p) {
202
+
203
+ double H = 3.5;
204
+
205
+ double org = 50;
206
+
207
+ double dt = 0.1;
208
+
209
+ int nk = 20 , i = 0 , j = 0 , k = 0;
210
+
211
+ double vx[500][2];
212
+
213
+ for(i = 0; i < 500; i++){
214
+
215
+ for(j = 0; j < 2; j++){
216
+
217
+ vx[i][j] = H * p->x[i][j];
218
+
219
+ p->x[i][j] += org;
220
+
221
+ for(k = 0; k < nk; k++){
222
+
223
+ p->x[i][j] += vx[i][j] * dt;
224
+
225
+ }
226
+
227
+ }
228
+
229
+ }
230
+
231
+ }
232
+
233
+ ```

1

修正

2017/01/26 06:17

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  vx[i][j] = H * (*x0)[i][j];
100
100
 
101
- (*x0)[i][j] = *(x0)[i][j] + org;
101
+ (*x0)[i][j] = (*x0)[i][j] + org;
102
102
 
103
103
  for(k = 0; k < nk; k++){
104
104