#include <iostream>
#include <cmath>
#include <array>
#define SAMPLE_SIZE 12
typedef std::array<double, SAMPLE_SIZE> DoubleArray;
class sine_curve
{
public:
int get(double amplitude, double time, DoubleArray& x, double frequency, int sample)
{
for(sample = 0; sample <= time; sample++)
{
x[sample] = amplitude * sin(2 * 3.142 * frequency * sample);
std::cout << x[sample]<<"\t";
}
std::cout << std::endl;
return x[0];
}
};
int main()
{
double amplitude, time, frequency;
DoubleArray x, y;
int sample;
std::cout << "Enter amplitude: ";
std::cin >> amplitude;
std::cout << "Enter time: ";
std::cin >> time;
sine_curve sine;
sine.get(amplitude, time, x, frequency,sample);
for(sample = 0; sample <= time; sample++)
{
std::cout << x[sample] << std::endl;
}
std::cout << std::endl;
y = x;
for(sample = 0; sample <= time; sample++)
{
std::cout << y[sample] << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxhcnJheT4KI2RlZmluZSBTQU1QTEVfU0laRSAxMgoKdHlwZWRlZiBzdGQ6OmFycmF5PGRvdWJsZSwgU0FNUExFX1NJWkU+IERvdWJsZUFycmF5OwoKY2xhc3Mgc2luZV9jdXJ2ZQp7CnB1YmxpYzoKaW50IGdldChkb3VibGUgYW1wbGl0dWRlLCBkb3VibGUgdGltZSwgRG91YmxlQXJyYXkmIHgsIGRvdWJsZSBmcmVxdWVuY3ksIGludCBzYW1wbGUpCnsKICAgIGZvcihzYW1wbGUgPSAwOyBzYW1wbGUgPD0gdGltZTsgc2FtcGxlKyspCiAgICB7CiAgICAgICAgeFtzYW1wbGVdID0gYW1wbGl0dWRlICogc2luKDIgKiAzLjE0MiAqIGZyZXF1ZW5jeSAqIHNhbXBsZSk7CiAgICAgICAgc3RkOjpjb3V0IDw8IHhbc2FtcGxlXTw8Ilx0IjsKICAgIH0KCiAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwogICAgcmV0dXJuIHhbMF07ICAgIAp9Cn07CgppbnQgbWFpbigpCnsKICAgZG91YmxlIGFtcGxpdHVkZSwgdGltZSwgZnJlcXVlbmN5OwogICBEb3VibGVBcnJheSB4LCB5OwppbnQgc2FtcGxlOwoKc3RkOjpjb3V0IDw8ICJFbnRlciBhbXBsaXR1ZGU6ICI7CnN0ZDo6Y2luID4+IGFtcGxpdHVkZTsKc3RkOjpjb3V0IDw8ICJFbnRlciB0aW1lOiAiOwpzdGQ6OmNpbiA+PiB0aW1lOwpzaW5lX2N1cnZlIHNpbmU7CnNpbmUuZ2V0KGFtcGxpdHVkZSwgdGltZSwgeCwgZnJlcXVlbmN5LHNhbXBsZSk7Cgpmb3Ioc2FtcGxlID0gMDsgc2FtcGxlIDw9IHRpbWU7IHNhbXBsZSsrKQp7CiAgICBzdGQ6OmNvdXQgPDwgeFtzYW1wbGVdIDw8IHN0ZDo6ZW5kbDsKfQoKc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCnkgPSB4Owpmb3Ioc2FtcGxlID0gMDsgc2FtcGxlIDw9IHRpbWU7IHNhbXBsZSsrKQp7CiAgICBzdGQ6OmNvdXQgPDwgeVtzYW1wbGVdIDw8IHN0ZDo6ZW5kbDsKfQp9