fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define MAX_POINTS 10000
  5.  
  6. int main() {
  7. double time[MAX_POINTS], voltage[MAX_POINTS];
  8. int count = 0;
  9.  
  10. printf("時間[s] 電位[V] を順に入力してください(Ctrl+D または Ctrl+Z で終了)\n");
  11.  
  12. // データ読み込み
  13. while (scanf("%lf %lf", &time[count], &voltage[count]) == 2) {
  14. count++;
  15. if (count >= MAX_POINTS) {
  16. printf("データ数が多すぎます(最大 %d 点)\n", MAX_POINTS);
  17. return 1;
  18. }
  19. }
  20.  
  21. // ピーク判定:前後5点(自分を含めて計10点)より大きい点をピークとする
  22. for (int i = 5; i < count - 5; i++) { // 前後5点がある範囲で判定
  23. int is_peak = 1;
  24.  
  25. // 前後5個の点を比較
  26. for (int j = -5; j <= 5; j++) {
  27. if (j != 0 && voltage[i] <= voltage[i + j]) {
  28. is_peak = 0;
  29. break;
  30. }
  31. }
  32.  
  33. // ピークが見つかった場合
  34. if (is_peak) {
  35. printf(" %.3f V at %.6f 秒\n", voltage[i], time[i]);
  36. }
  37. }
  38.  
  39. return 0;
  40. }
  41.  
  42.  
  43.  
Success #stdin #stdout 0s 5284KB
stdin
0.000000 2.673790
0.100000 2.678881
0.200000 2.666153
0.300000 2.666153
0.400000 2.673790
0.500000 2.673790
0.600000 2.671244
0.700000 2.668699
0.800000 2.681426
0.900000 2.714518
1.000000 2.722154
1.100000 2.732336
1.200000 2.750154
1.300000 2.778155
1.400000 2.933429
1.500000 3.424707
1.600000 3.615618
1.700000 3.826893
1.800000 3.959258
1.900000 4.104350
2.000000 4.185806
2.100000 4.226533
2.200000 4.216351
2.300000 4.254534
2.400000 4.244352
2.500000 4.173078
2.600000 3.887984
2.700000 3.093794
2.800000 2.966520
2.900000 2.844337
3.000000 2.813791
3.100000 2.661063
3.200000 2.597426
3.300000 2.597426
3.400000 2.617789
3.500000 2.790882
3.600000 2.905429
3.700000 2.867246
3.800000 3.047976
3.900000 3.019975
4.000000 3.368706
4.100000 3.966894
4.200000 4.213806
4.300000 4.272352
4.400000 4.173078
4.500000 3.926167
4.600000 3.411979
4.700000 3.121795
4.800000 2.877428
4.900000 2.801064
5.000000 2.594880
5.100000 2.594880
5.200000 2.610153
5.300000 2.747609
5.400000 2.747609
5.500000 2.829064
5.600000 2.946156
5.700000 3.170159
5.800000 3.676709
5.900000 4.022895
6.000000 4.145078
6.100000 4.302898
6.200000 4.307989
6.300000 4.244352
6.400000 3.226159
6.500000 3.019975
6.600000 2.920702
6.700000 2.872337
6.800000 2.597426
6.900000 2.615244
7.000000 2.640699
7.100000 2.625426
7.200000 2.757791
7.300000 2.765427
7.400000 2.821428
7.500000 3.091249
7.600000 3.279614
7.700000 3.712346
7.800000 4.025440
7.900000 3.992349
8.000000 3.750528
8.100000 3.373797
8.200000 3.040339
8.300000 2.915611
8.400000 2.841792
8.500000 2.612698
8.600000 2.658517
8.700000 2.694154
8.800000 2.658517
8.900000 2.724700
9.000000 2.742518
9.100000 2.739972
9.200000 2.826519
9.300000 2.946156
9.400000 3.406888
9.500000 4.099259
9.600000 4.229079
9.700000 4.234170
9.800000 4.188351
9.900000 4.050895
10.000000 3.796347
10.100000 3.022521
10.200000 2.862156
10.300000 2.635608
10.400000 2.661063
10.500000 2.683972
10.600000 2.643244
10.700000 2.625426
10.800000 2.729791
10.900000 2.739972
11.000000 3.035248
11.100000 3.165068
11.200000 3.544344
11.300000 3.918530
11.400000 4.162896
11.500000 4.295261
11.600000 4.269806
11.700000 4.190897
11.800000 3.982167
11.900000 3.277069
12.000000 2.991975
12.100000 2.874883
12.200000 2.734881
12.300000 2.694154
12.400000 2.681426
12.500000 2.757791
12.600000 2.770518
12.700000 2.767973
12.800000 2.872337
12.900000 3.106522
13.000000 3.572345
13.100000 3.923621
13.200000 4.122169
13.300000 4.201078
13.400000 4.229079
13.500000 4.053441
13.600000 3.666527
13.700000 3.058158
13.800000 2.851974
13.900000 2.829064
14.000000 2.640699
14.100000 2.643244
14.200000 2.676335
14.300000 2.747609
14.400000 2.757791
14.500000 3.154886
14.600000 3.246523
14.700000 3.287251
14.800000 3.875257
14.900000 4.155260
15.000000 4.264715
15.100000 4.325807
15.200000 4.307989
15.300000 4.183260
15.400000 3.768347
15.500000 3.190523
15.600000 3.287251
15.700000 2.915611
15.800000 2.668699
15.900000 2.648335
16.000000 2.625426
16.100000 2.683972
16.200000 2.760336
16.300000 2.821428
16.400000 2.859610
16.500000 2.933429
16.600000 3.078521
16.700000 3.338160
16.800000 3.714892
16.900000 4.175624
17.000000 4.335989
17.100000 4.325807
17.200000 4.127260
17.300000 3.394161
17.400000 3.243978
17.500000 2.930883
17.600000 2.902883
17.700000 2.683972
17.800000 2.571971
17.900000 2.676335
18.000000 2.803609
18.100000 2.767973
18.200000 3.096340
18.300000 3.355979
18.400000 3.676709
18.500000 4.134896
18.600000 4.277443
18.700000 4.328353
18.800000 4.369080
18.900000 4.330898

stdout
時間[s] 電位[V] を順に入力してください(Ctrl+D または Ctrl+Z で終了)
 4.255 V at 2.300000 秒
 4.272 V at 4.300000 秒
 4.308 V at 6.200000 秒
 4.025 V at 7.800000 秒
 4.234 V at 9.700000 秒
 4.295 V at 11.500000 秒
 4.229 V at 13.400000 秒
 4.326 V at 15.100000 秒
 4.336 V at 17.000000 秒