Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <windowsx.h>
- #include <stdio.h>
- #include <conio.h>
- #include <locale.h>
- float SideLength(int x1, int y1, int x2, int y2)
- {
- float l;
- l = ((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1))^(1/2);
- return l;
- }
- int check(float a, float b, float c, float d)
- {
- if (a == b && b == c && c == d) return 1;
- return 0;
- }
- void drow(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, HDC hdc)
- {
- POINT ppt[4] = { { x1,y1 },{ x2,y2 },{ x3,y3 },{ x4,y4 } };
- BOOL bxt = Polygon(hdc, ppt, 4);
- }
- //int check2()
- void main()
- {
- setlocale(LC_ALL, "Rus");
- FILE *fi;
- fopen_s(&fi, "input.txt", "r");
- if (fi != NULL)
- {
- // цвет первого ромба
- int r, g, b, k;
- // координаты первого ромба
- int x1, y1, x2, y2, x3, y3, x4, y4;
- // цвет второго ромба
- int r2, g2, b2;
- // координаты второго ромба
- int x2_1, y2_1, x2_2, y2_2, x2_3, y2_3, x2_4, y2_4;
- if (fscanf_s(fi, "%d", &k) != EOF)
- {
- int c1, c2;
- fscanf_s(fi, "%d", &c1);
- if (c1 != 0)
- fscanf_s(fi, "%d %d %d", &r, &g, &b);
- fscanf_s(fi, "%d %d %d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
- if (k == 2)
- {
- fscanf_s(fi, "%d", &c2);
- if (c2 != 0)
- fscanf_s(fi, "%d %d %d", &r2, &g2, &b2);
- fscanf_s(fi, "%d %d %d %d %d %d %d %d", &x2_1, &y2_1, &x2_2, &y2_2, &x2_3, &y2_3, &x2_4, &y2_4);
- }
- RECT rt;
- char buf[100];
- HWND hwnd = GetConsoleWindow();
- HDC hdc = GetDC(hwnd);
- HPEN newPen = CreatePen(PS_SOLID, 2, RGB(255, 255, 255));
- HPEN hOldPen = SelectPen(hdc, newPen);
- HBRUSH newBrush = CreateSolidBrush(RGB(0, 0, 0));
- HBRUSH hOldBrush = SelectBrush(hdc, newBrush);
- do
- {
- GetClientRect(hwnd, &rt);
- sprintf_s(buf, "Размер окна %d на %d пикселей", rt.right, rt.bottom);
- TextOutA(hdc, 10, 10, buf, strlen(buf));
- if (c1 == 1)
- {
- HPEN firstPen = CreatePen(PS_SOLID, 2, RGB(r, g, b));
- SelectPen(hdc, firstPen);
- HBRUSH firstBrush = CreateSolidBrush(RGB(r, g, b));
- SelectBrush(hdc, firstBrush);
- drow(x1, y1, x2, y2, x3, y3, x4, y4, hdc);
- SelectPen(hdc, newPen);
- SelectBrush(hdc, newBrush);
- DeletePen(firstPen);
- DeleteBrush(firstBrush);
- }
- else drow(x1, y1, x2, y2, x3, y3, x4, y4, hdc);
- if (k == 2)
- {
- if (c2 == 1)
- {
- HPEN secondPen = CreatePen(PS_SOLID, 2, RGB(r2, g2, b2));
- SelectPen(hdc, secondPen);
- HBRUSH secondBrush = CreateSolidBrush(RGB(r2, g2, b2));
- SelectBrush(hdc, secondBrush);
- drow(x2_1, y2_1, x2_2, y2_2, x2_3, y2_3, x2_4, y2_4, hdc);
- SelectPen(hdc, newPen);
- SelectBrush(hdc, newBrush);
- DeletePen(secondPen);
- DeleteBrush(secondBrush);
- }
- else drow(x2_1, y2_1, x2_2, y2_2, x2_3, y2_3, x2_4, y2_4, hdc);
- }
- SelectPen(hdc, hOldPen);
- SelectBrush(hdc, hOldBrush);
- DeletePen(hOldPen);
- DeleteBrush(hOldBrush);
- // освобождаем контекст отображения
- ReleaseDC(hwnd, hdc);
- } while (_getch() != 27);
- int check1, check2;
- check1 = check(SideLength(x1, y1, x2, y2), SideLength(x2, y2, x3, y3), SideLength(x3, y3, x4, y4), SideLength(x4, y4, x1, y1));
- }
- }
- else printf("Файл пуст");
- fclose(fi);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement