Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #include <graphics.h>
- #define N 10
- using namespace std;
- struct tocka
- {
- int x;
- int y;
- };
- struct lik
- {
- tocka tocke[N];
- int brTocaka = 0;
- };
- void unosTocaka(lik *p)
- {
- for(int i=0;i<N;i++)
- {
- cin>>(*(p)).tocke[i].x;
- if((*(p)).tocke[i].x < 0)
- {
- printf("Prekid unosa\n");
- break;
- }
- cin>>(*(p)).tocke[i].y;
- if((*(p)).tocke[i].y < 0)
- {
- printf("Prekid unosa\n");
- break;
- }
- (*(p)).brTocaka++;
- printf("[%d] Unesena tocka: [%d, %d]\n",(*(p)).brTocaka, (*(p)).tocke[i].x,(*(p)).tocke[i].y);
- }
- }
- void crtanje(lik *p)
- {
- int x = (*(p)).tocke[0].x;
- int y = (*(p)).tocke[0].y;
- moveto(x,y);
- setfillstyle(SOLID_FILL,RED);
- circle(x,y,5);
- floodfill(x,y,15);
- for(int i = 1; i<(*(p)).brTocaka;i++)
- {
- int x2 = (*(p)).tocke[i].x;
- int y2 = (*(p)).tocke[i].y;
- setfillstyle(SOLID_FILL,RED);
- circle(x2,y2,5);
- floodfill(x2,y2,15);
- lineto(x2,y2);
- moveto(x2,y2);
- }
- }
- void crtanjeSvih(lik *p)
- {
- for(int i=0;i<N;i++)
- {
- crtanje(p);
- }
- }
- void skaliraj(lik *p, int postotak)
- {
- float scalar;
- scalar = (postotak / 100.0f);
- int pocX = (*(p)).tocke[0].x;
- int pocY = (*(p)).tocke[0].y;
- int x = (*(p)).tocke[0].x * scalar;
- int y = (*(p)).tocke[0].y * scalar;
- float distX = pocX-x;
- float distY = pocY-y;
- x += distX;
- y += distY;
- moveto(x,y);
- setfillstyle(SOLID_FILL,GREEN);
- circle(x,y,6);
- floodfill(x,y,15);
- for(int i = 1; i<(*(p)).brTocaka;i++)
- {
- int x2 = (*(p)).tocke[i].x * scalar;
- int y2 = (*(p)).tocke[i].y * scalar;
- x2 += distX;
- y2 += distY;
- setfillstyle(SOLID_FILL,GREEN);
- circle(x2,y2,6);
- floodfill(x2,y2,15);
- lineto(x2,y2);
- moveto(x2,y2);
- }
- }
- int main()
- {
- lik likovi[10];
- initwindow(1000,1000);
- /*
- for(int i=0;i<1;i++)
- {
- unosTocaka(&likovi[i]);
- }*/
- //unosTocaka(&likovi[0]);
- likovi[0].tocke[0].x = 100;
- likovi[0].tocke[0].y = 100;
- likovi[0].tocke[1].x = 200;
- likovi[0].tocke[1].y = 100;
- likovi[0].tocke[2].x = 200;
- likovi[0].tocke[2].y = 200;
- likovi[0].tocke[3].x = 100;
- likovi[0].tocke[3].y = 200;
- likovi[0].tocke[4].x = 100;
- likovi[0].tocke[4].y = 100;
- likovi[0].brTocaka = 5;
- crtanje(&likovi[0]);
- int a;
- cin>>a;
- skaliraj(&likovi[0], a);
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment