Untitled

 avatar
unknown
plain_text
a year ago
2.0 kB
5
Indexable
If you're specifically looking for changes to make the code work with Turbo C, you'll need to adjust it to work with the Turbo C environment, which includes using the `graphics.h` library and functions like `initgraph()` and `closegraph()` for graphics rendering. Here's the modified code:

```c
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>

int main() {
    int x1, y1, x2, y2, xx1, yy1, xx2, yy2, xmin, ymin, xmax, ymax, i, dx, dy;
    float p[4], q[4], u1 = 0, u2 = 1, r[4];
    int gd = DETECT, gm;

    initgraph(&gd, &gm, "");

    printf("Enter the coordinate point of A: ");
    scanf("%d%d", &x1, &y1);

    printf("Enter the coordinates of point B: ");
    scanf("%d%d", &x2, &y2);

    printf("Enter the coordinates of Xmin & Ymin: ");
    scanf("%d%d", &xmin, &ymin);

    printf("Enter the coordinates of Xmax and Ymax: ");
    scanf("%d%d", &xmax, &ymax);

    rectangle(xmin, ymin, xmax, ymax);

    dx = x2 - x1;
    dy = y2 - y1;
    p[0] = -dx;
    p[1] = dx;
    p[2] = -dy;
    p[3] = dy;
    q[0] = x1 - xmin;
    q[1] = xmax - x1;
    q[2] = y1 - ymin;
    q[3] = ymax - y1;

    for (i = 0; i < 4; i++) {
        if (p[i] == 0 && q[i] < 0) {
            printf("Discarded line");
            getch();
            closegraph();
            return 0;
        }
        r[i] = q[i] / p[i];
        if (p[i] < 0) {
            u1 = fmax(r[i], u1);
        }
        if (p[i] > 0) {
            u2 = fmin(r[i], u2);
        }
    }

    if (u1 <= u2) {
        xx1 = x1 + (u1 * dx);
        yy1 = y1 + (u1 * dy);
        xx2 = x1 + (u2 * dx);
        yy2 = y1 + (u2 * dy);

        delay(30);
        line(xx1, yy1, xx2, yy2);
        getch();
    } else {
        printf("Line lies outside the clipping window");
    }

    closegraph();
    return 0;
}
```

This code should work in Turbo C environment, utilizing its specific graphics functions and libraries. Make sure you have the Turbo C environment set up correctly, with graphics libraries and headers properly configured.
Editor is loading...
Leave a Comment