Viết chương trình nhập toạ độ 2 điểm A và B, vẽ đường thẳng đi qua A và B. [Ai không biết làm vui lòng bỏ qua bài này ạ. Tốn điểm lắm ????????????]

Viết chương trình nhập toạ độ 2 điểm A và B, vẽ đường thẳng đi qua A và B.
[Ai không biết làm vui lòng bỏ qua bài này ạ. Tốn điểm lắm ????????????]

0 bình luận về “Viết chương trình nhập toạ độ 2 điểm A và B, vẽ đường thẳng đi qua A và B. [Ai không biết làm vui lòng bỏ qua bài này ạ. Tốn điểm lắm ????????????]”

  1. #include <iostream>
    #include <graphic.h>
    #include <math.h>
    #define Round(a) (int)(a+0.5)  
    #define max(a,b) (a>b)?a:b
    #define DELAY 10
    #include <conio.h>
    using namespace std ;
    int color = WHITE;
       
    void lineDDA(int x1, int y1, int x2, int y2){         /// đây là hàm vẽ,x1,y1 là tọa độ của 2 điểm 
        int  Dx = x2 – x1, Dy = y2 – y1;                     ///  thuật toán DDA
        float x_inc , y_inc;
        float step=max(abs(Dx),abs(Dy));
        x_inc=Dx/step;
        y_inc=Dy/step;
        float x=x1, y=y1;
        putpixel(x, y, color);
          
        int k=1;
        while(k <=step){
            k++;
            delay(DELAY); 
            x += x_inc;
            y += y_inc;
            cout<<“x=”<<x<<“\ty=”<<y<<endl;
            putpixel(Round(x),Round(y),color);
             
        }
    }
    int main(){
        int gd,gm;
        gd=DETECT;
        initgraph(&gd,&gm,NULL);       ///  khởi tạo
        setcolor(5);
        settextstyle(5,0,4);
        int a1,b1,a2,b2;
        cin >> a1 >> b1 >> a2 >> b2;  /// nhập tọa độ
        lineDDA(a1,b1,a2,b2);    
        return 0;
    }

    Bình luận

Viết một bình luận