// #include <stdio.h>

// #define G 9.8
// #define ITER 100

// void main()
// {
//     double deltat = 1.0;
//     double m = 78.9;
//     double c = 10.5;
//     double v[ITER];
//     double t[ITER];
//     int counter;

//     v[0] = 0;
//     t[0] = 0;

//     for(counter=0;counter<ITER; counter++)
//     {
//         v[counter+1] = (v[counter] + m*G - c*v[counter]/m)*deltat;
//         t[counter+1] = t[counter] + deltat;
//         printf("the velocity at time is %lf is %lf\n", t[counter], v[counter]);
//     }
// }

#include <stdio.h>
#include <math.h>

#define G 9.8
#define ITER 100

void main()
{
    double deltat = 1.0;
    double m = 78.9;
    double c = 10.5;
    double f[ITER];
    double t[ITER];
    int counter; // bc otherwise it would start at -1
    double I[ITER];
    double d[ITER];

    t[0] = 0;
    d[0] = 0;

    for(counter=0;counter<ITER; counter++)
    {
        f[counter-1] = 1 - exp(-1*(c/m)*t[counter-1]);
        t[counter] = t[counter-1] + deltat;
        f[counter] = 1 - exp(-1*(c/m)*t[counter-1]);
        I[counter] = I[counter - 1] + (deltat/2) * (f[counter-1] + f[counter]);
        d[counter] = (G*m)/c * I[counter];
    }

    for(counter=0;counter<ITER; counter++)
        printf("distance at time %lf is %lf\n", t[counter], d[counter]);

}