Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <iostream>
- //#include <term.h> //linux
- //#include <unistd.h> //linux
- using namespace std;
- //Função gotoxy
- void gotoxy(int x, int y)
- {
- COORD coord;
- coord.X = x;
- coord.Y = y;
- //printf("%c[%d;%df",0x1B,y,x); //linux
- //printf("%c[%d;%df",27,y,x); //linux
- //SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
- }
- void WritePixel(int x, int y)
- {
- gotoxy(x,y);
- cout<<"*";
- }
- void plotLineLow(int x0,int y0, int x1, int y1)
- {
- int dx = x1 - x0;
- int dy = y1 - y0;
- int yi = 1;
- if (dy < 0)
- {
- yi = -1;
- dy = -dy;
- }
- int D = 2*dy - dx;
- int y = y0;
- for (int x=x0;x<=x1;x++)
- {
- WritePixel(x,y);
- if (D > 0)
- {
- y = y + yi;
- D = D - 2*dx;
- }
- D = D + 2*dy;
- }
- }
- void plotLineHigh(int x0,int y0, int x1, int y1)
- {
- int dx = x1 - x0;
- int dy = y1 - y0;
- int xi = 1;
- if (dx < 0)
- {
- xi = -1;
- dx = -dx;
- }
- int D = 2*dx - dy;
- int x = x0;
- for (int y=y0;y<=y1;y++)
- {
- WritePixel(x,y);
- if (D > 0)
- {
- x = x + xi;
- D = D - 2*dy;
- }
- D = D + 2*dx;
- }
- }
- void plotLine(int x0,int y0,int x1, int y1)
- {
- if (abs(y1 - y0) < abs(x1 - x0))
- if (x0 > x1)
- plotLineLow(x1, y1, x0, y0);
- else
- plotLineLow(x0, y0, x1, y1);
- else
- if (y0 > y1)
- plotLineHigh(x1, y1, x0, y0);
- else
- plotLineHigh(x0, y0, x1, y1);
- }
- int main()
- {
- int x0, x1, y0, y1;
- cin >> x0 >> x1 >> y0 >> y1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement