#include <stdio.h>
#define WIDTH 11
#define HEIGHT 11
char grid[HEIGHT][WIDTH];
// Function to initialize the grid with dots
void initGrid() {
for (int y = 0; y < HEIGHT; y++)
for (int x = 0; x < WIDTH; x++)
grid[y][x] = '.';
}
// Function to print the grid with origin at center
void printGrid() {
for (int y = HEIGHT - 1; y >= 0; y--) {
for (int x = 0; x < WIDTH; x++) {
}
}
}
// Converts coordinate (x, y) to grid position
void plotPoint(int x, int y, char symbol) {
int gridX = x + WIDTH / 2;
int gridY = y + HEIGHT / 2;
if (gridX >= 0 && gridX < WIDTH && gridY >= 0 && gridY < HEIGHT)
grid[gridY][gridX] = symbol;
}
int main() {
initGrid();
// Original triangle ABC
int Ax = 2, Ay = 2;
int Bx = 6, By = 2;
int Cx = 4, Cy = 5;
// Plot original triangle points
plotPoint(Ax, Ay, 'A');
plotPoint(Bx, By, 'B');
plotPoint(Cx, Cy, 'C');
// Reflected triangle A'B'C' across X-axis (negate Y)
plotPoint(Ax, -Ay, 'a');
plotPoint(Bx, -By, 'b');
plotPoint(Cx, -Cy, 'c');
printf("Grid showing Triangle ABC and its reflection (a, b, c) across X-axis:\n\n"); printGrid();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFdJRFRIICAxMQojZGVmaW5lIEhFSUdIVCAxMQoKY2hhciBncmlkW0hFSUdIVF1bV0lEVEhdOwoKLy8gRnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgZ3JpZCB3aXRoIGRvdHMKdm9pZCBpbml0R3JpZCgpIHsKICAgIGZvciAoaW50IHkgPSAwOyB5IDwgSEVJR0hUOyB5KyspCiAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCBXSURUSDsgeCsrKQogICAgICAgICAgICBncmlkW3ldW3hdID0gJy4nOwp9CgovLyBGdW5jdGlvbiB0byBwcmludCB0aGUgZ3JpZCB3aXRoIG9yaWdpbiBhdCBjZW50ZXIKdm9pZCBwcmludEdyaWQoKSB7CiAgICBmb3IgKGludCB5ID0gSEVJR0hUIC0gMTsgeSA+PSAwOyB5LS0pIHsKICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IFdJRFRIOyB4KyspIHsKICAgICAgICAgICAgcHJpbnRmKCIlYyAiLCBncmlkW3ldW3hdKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQp9CgovLyBDb252ZXJ0cyBjb29yZGluYXRlICh4LCB5KSB0byBncmlkIHBvc2l0aW9uCnZvaWQgcGxvdFBvaW50KGludCB4LCBpbnQgeSwgY2hhciBzeW1ib2wpIHsKICAgIGludCBncmlkWCA9IHggKyBXSURUSCAvIDI7CiAgICBpbnQgZ3JpZFkgPSB5ICsgSEVJR0hUIC8gMjsKCiAgICBpZiAoZ3JpZFggPj0gMCAmJiBncmlkWCA8IFdJRFRIICYmIGdyaWRZID49IDAgJiYgZ3JpZFkgPCBIRUlHSFQpCiAgICAgICAgZ3JpZFtncmlkWV1bZ3JpZFhdID0gc3ltYm9sOwp9CgppbnQgbWFpbigpIHsKICAgIGluaXRHcmlkKCk7CgogICAgLy8gT3JpZ2luYWwgdHJpYW5nbGUgQUJDCiAgICBpbnQgQXggPSAyLCBBeSA9IDI7CiAgICBpbnQgQnggPSA2LCBCeSA9IDI7CiAgICBpbnQgQ3ggPSA0LCBDeSA9IDU7CgogICAgLy8gUGxvdCBvcmlnaW5hbCB0cmlhbmdsZSBwb2ludHMKICAgIHBsb3RQb2ludChBeCwgQXksICdBJyk7CiAgICBwbG90UG9pbnQoQngsIEJ5LCAnQicpOwogICAgcGxvdFBvaW50KEN4LCBDeSwgJ0MnKTsKCiAgICAvLyBSZWZsZWN0ZWQgdHJpYW5nbGUgQSdCJ0MnIGFjcm9zcyBYLWF4aXMgKG5lZ2F0ZSBZKQogICAgcGxvdFBvaW50KEF4LCAtQXksICdhJyk7CiAgICBwbG90UG9pbnQoQngsIC1CeSwgJ2InKTsKICAgIHBsb3RQb2ludChDeCwgLUN5LCAnYycpOwoKICAgIHByaW50ZigiR3JpZCBzaG93aW5nIFRyaWFuZ2xlIEFCQyBhbmQgaXRzIHJlZmxlY3Rpb24gKGEsIGIsIGMpIGFjcm9zcyBYLWF4aXM6XG5cbiIpOwogICAgcHJpbnRHcmlkKCk7CgogICAgcmV0dXJuIDA7Cn0K