#include <stdio.h>

int main() {
    // 実験10Hzのデータから抜粋したサンプルデータ（時間, 電圧）
    // ※レポートには、このように配列に格納して解析した旨を記載する
    double time[] = {
        0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 
        14.3, 14.4, 14.5, 14.6, 14.7, // 山の付近の例
        22.6, 22.7, 22.8, 22.9, 23.0  // 2つ目の山の例
    };
    double voltage[] = {
        2.396, 2.399, 2.414, 2.409, 2.404, 2.407, 2.409, 2.409, 2.412, 2.404, 2.407,
        3.050, 3.100, 3.131, 3.110, 3.020, // 14.5sでピーク
        3.150, 3.210, 3.254, 3.200, 3.100  // 22.8sでピーク
    };

    // データの個数を計算
    int n = sizeof(voltage) / sizeof(voltage[0]);

    printf("--- ピーク電位検出結果 (C言語) ---\n");
    printf("回数  |  時間 [s]  |  電圧 [V]\n");
    printf("---------------------------\n");

    int peak_count = 1;

    // 前後の値と比較してピーク（極大値）を検出
    for (int i = 1; i < n - 1; i++) {
        if (voltage[i] > voltage[i-1] && voltage[i] > voltage[i+1]) {
            // ノイズ除去のため3.0V以上の山のみ抽出
            if (voltage[i] > 3.0) {
                printf("%2d    |  %8.2f  |  %.3f\n", peak_count, time[i], voltage[i]);
                peak_count++;
            }
        }
    }

    return 0;
}