a

🧩 Syntax:
// WAP to print a vertically aligned sinusoidal curve

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

const float PI = 3.14159;
const float LAST = 2 * PI;

const int STEPS = 4;

float point(float A, float rad) {
    return A * sin(rad);
}

int getSpaces(float A, float y) {
    int spaces = round(y * 2) * A * 2;
    if (abs(y) == 1) {
        spaces += y * A;
    }
    return spaces;
}

int main() {
    float A;
    printf("Enter amplitude: ");
    scanf("%f", &A);

    int base_spaces = getSpaces(A, PI / 2);

    int cycles;
    printf("Enter the no. of cycles: ");
    scanf("%d", &cycles);

    float y;
    int spaces;
    for (int i = 0; i < cycles; i++) {
        for (float rad = 0; rad < LAST; rad += LAST / (POINTS_PER_CYCLE * A)) {
	    if (rad == 0 && i > 0) {
	        continue;
	    }

	    y = point(A, rad);
	    spaces = base_spaces + getSpaces(A, y);

	    for (int j = 0; j < spaces; j++) {
	        printf(" ");
	    }
	    printf("*  %g, %d\n", y, spaces);
	}
    }

    return 0;
}