Я пытаюсь читать числа из файла .txt и использовать их в формулах в моем коде и выводить результаты в другой файл .txt, чтобы их было проще использовать. Моя проблема заключается в чтении 3000 строк чисел и назначении им переменных для использования в формулах. Первый столбец мне нужен для переменной dt, а второй столбец я хотел бы, чтобы это была переменная i. По какой-то причине я не могу заставить их читать правильно. Вот мой код.
#include <stdlib.h>
#include <stdio.h>
void GetAcc(const float Acc[], const float Vel[], float Pos[], float dt);
void GetVel(const float Acc[], float Vel[], float dt);
int main()
{
float Position[3000]={0};
float Velocity[3000]={0};
float Acceleration[3000]={0};
float i;
float dt;
FILE *fp;
fp=fopen("M3 Array File.txt", "r+");
fscanf(fp,"%f",&dt);
fscanf(fp,"%f",&i);
GetVel(Acceleration,Velocity,dt);
GetAcc(Acceleration,Velocity,Position,dt);
for(i=0;i<3000;i++) fprintf(fp,"%3.3f\t%3.3f\t%3.3f\t%3.3f\n",dt*(float)i,Acceleration[i],Velocity[i],Position[i]);
fclose(fp);
return 0;
}
void GetVel(const float Acc[], float Vel[], float dt)
{
int i;
for(i=1;i<3000;i++)
{
Vel[i]=Vel[i-1]+Acc[i]*dt;
}
}
void GetAcc(const float Acc[], const float Vel[], float Pos[], float dt)
{
int i;
for(i=1;i<3000;i++)
{
Acc[i]=2*Pos[i]-Pos[i-1]-Vel[i-1];
}
}
Вот пример того, как выглядит файл.
0.000 0.000
0.001 0.000
0.002 0.000
0.003 0.000
0.004 0.000
0.005 0.000
0.006 0.000
0.007 0.000
0.008 0.000
0.009 0.000
0.010 0.000
0.011 0.000
0.012 0.000
0.013 0.000
0.014 0.000
0.015 0.000
0.016 0.000
0.017 0.000
0.018 0.000
0.019 0.000
0.020 0.000
0.021 0.000
0.022 0.000
0.023 0.000
0.024 0.000
0.025 0.000
0.026 0.000
0.027 0.000
0.028 0.000
0.029 0.000
0.030 0.002
0.031 0.003
0.032 0.005
0.033 0.005
0.034 0.005
0.035 0.005
0.036 0.005
0.037 0.006
0.038 0.008
0.039 0.009
0.040 0.011
0.041 0.012
0.042 0.012
0.043 0.012
0.044 0.012
0.045 0.014
0.046 0.015
0.047 0.017
0.048 0.018
0.049 0.020
0.050 0.021
0.051 0.023
0.052 0.025
0.053 0.026
0.054 0.028
0.055 0.029
0.056 0.031
0.057 0.032
0.058 0.034
0.059 0.035
0.060 0.037
0.061 0.040
0.062 0.043
0.063 0.046
0.064 0.049
0.065 0.052
0.066 0.054
0.067 0.055
0.068 0.057
0.069 0.060
0.070 0.063
0.071 0.066
0.072 0.069
0.073 0.072
0.074 0.075
0.075 0.078
0.076 0.081
0.077 0.084
0.078 0.087
0.079 0.091
0.080 0.095
0.081 0.100
0.082 0.104
0.083 0.109
0.084 0.114
0.085 0.117
0.086 0.120
0.087 0.123
0.088 0.127
0.089 0.132
0.090 0.137
0.091 0.141
0.092 0.146
0.093 0.150
0.094 0.155
0.095 0.161
0.096 0.167
0.097 0.173
0.098 0.179
0.099 0.184
0.100 0.189
0.101 0.193
0.102 0.199
0.103 0.206
0.104 0.212
0.105 0.218
0.106 0.224
0.107 0.230
0.108 0.236
0.109 0.242
0.110 0.250
0.111 0.258
0.112 0.265
0.113 0.273
0.114 0.281
0.115 0.288
0.116 0.296
0.117 0.304
0.118 0.311
0.119 0.319
0.120 0.327
0.121 0.334
0.122 0.342
0.123 0.350
0.124 0.359
0.125 0.368
0.126 0.377
0.127 0.387
0.128 0.396
0.129 0.405
0.130 0.414
0.131 0.423
0.132 0.433
0.133 0.442
0.134 0.451
0.135 0.460
0.136 0.471
0.137 0.482
0.138 0.492
0.139 0.503
0.140 0.514
0.141 0.525
0.142 0.535
0.143 0.546
0.144 0.557
0.145 0.569
0.146 0.581
0.147 0.594
0.148 0.606
0.149 0.618
0.150 0.630
0.151 0.643
0.152 0.655
0.153 0.667
0.154 0.680
0.155 0.692
0.156 0.706
0.157 0.719
0.158 0.733
0.159 0.747
0.160 0.761
0.161 0.775
0.162 0.788
0.163 0.802
0.164 0.816
0.165 0.830
0.166 0.845
0.167 0.861
0.168 0.876
0.169 0.891
0.170 0.907
0.171 0.922
0.172 0.937
0.173 0.953
0.174 0.969
0.175 0.986
0.176 1.003
0.177 1.020
0.178 1.037
0.179 1.054
0.180 1.071
0.181 1.088
0.182 1.104
0.183 1.121
0.184 1.140
0.185 1.158
0.186 1.177
0.187 1.195
0.188 1.213
0.189 1.232
0.190 1.250
0.191 1.269
0.192 1.287
0.193 1.307
0.194 1.327
0.195 1.347
0.196 1.367
0.197 1.387
0.198 1.407
0.199 1.427
0.200 1.447
0.201 1.468
0.202 1.489
0.203 1.511
0.204 1.532
0.205 1.554
0.206 1.575
0.207 1.597
0.208 1.618
0.209 1.640
0.210 1.663
0.211 1.686
0.212 1.709
0.213 1.732
0.214 1.755
0.215 1.778
0.216 1.801
0.217 1.824
0.218 1.848
0.219 1.873
0.220 1.898
0.221 1.922
0.222 1.947
0.223 1.971
0.224 1.996
0.225 2.020
0.226 2.045
0.227 2.071
0.228 2.097
0.229 2.123
0.230 2.149
0.231 2.175
0.232 2.201
0.233 2.227
0.234 2.255
0.235 2.283
0.236 2.310
0.237 2.338
0.238 2.365
0.239 2.393
0.240 2.421
0.241 2.448
0.242 2.476
0.243 2.505
0.244 2.534
0.245 2.563
0.246 2.592
0.247 2.622
0.248 2.651
0.249 2.680
0.250 2.709
0.251 2.740
0.252 2.770
0.253 2.801
0.254 2.832
0.255 2.862
0.256 2.893
0.257 2.924
0.258 2.954
0.259 2.987
0.260 3.019
0.261 3.051
0.262 3.083
0.263 3.116
0.264 3.148
0.265 3.180
0.266 3.212
0.267 3.246
0.268 3.280
0.269 3.313
0.270 3.347
0.271 3.381
0.272 3.415
0.273 3.448
0.274 3.482
0.275 3.517
0.276 3.553
0.277 3.588
0.278 3.623
0.279 3.659
0.280 3.694
0.281 3.729
0.282 3.764
0.283 3.800
0.284 3.836
0.285 3.873
0.286 3.910
0.287 3.947
0.288 3.984
0.289 4.021
0.290 4.057
0.291 4.094
0.292 4.133
0.293 4.171
0.294 4.209
0.295 4.248
0.296 4.286
0.297 4.324
0.298 4.363
0.299 4.401
0.300 4.439
0.301 4.479
0.302 4.519
0.303 4.559
0.304 4.599
0.305 4.639
0.306 4.679
0.307 4.719
0.308 4.758
0.309 4.800
0.310 4.841
0.311 4.883
0.312 4.924
0.313 4.965
0.314 5.007
0.315 5.048
0.316 5.090
0.317 5.131
0.318 5.174
0.319 5.217
0.320 5.260
0.321 5.303
0.322 5.346
0.323 5.389
0.324 5.432
0.325 5.475
0.326 5.518
0.327 5.562
0.328 5.607
0.329 5.651
0.330 5.696
0.331 5.740
0.332 5.785
0.333 5.829
0.334 5.874
0.335 5.918
0.336 5.963
0.337 6.009
0.338 6.055
0.339 6.101
0.340 6.147
0.341 6.193
0.342 6.239
0.343 6.285
0.344 6.331
0.345 6.378
0.346 6.426
0.347 6.473