#include #include // potrebne najma kvoli funkcii abs() int main(void) { int sirka, vyska, velk, opak, i, py, y, px, x; scanf("%d", &opak); // nacitanie prveho vstupu - poctu obrazcov for (i=0; i, >=, <, <= predstavuje plochu // vzory ktore su vyrazne symetricke, sa daju velmi elegantne realizovat // aj pouzitim absolutnej hodnoty, hoci je to casto narocne na predstavu if (abs(x-stred)+abs(y-stred)==stred) // uloha pica ('kosostvorec') z posledneho testu // if (((px + py)%2) == 0) // SACHOVNICA // if (abs(x-stred)+abs(y-stred)<=stred) // if (abs(x-stred)+abs(y-stred)>stred) // if (abs(x-stred)+abs(y-stred)>stred-2) // if (abs(x-stred)<=abs(y-stred)) // 'presypacie hodiny' // rozne ciarky a plochy // if (x==y) // usecka - spatne lomitko '\' // if (x<=y) // if (x+y < velk) // trojuholnikova plocha // if (x+y == velk-1) // usecka - bezne lomitko / // Spajanie podmienok pomocou jednoduchych logickych operatorov && a || // if ((x+y == velk-1) || (x==y)) // 'X' // if ((x<=y) && (x+y < velk)) // lava trojuholnikova plocha // Modulo (zvysok po deleni) je vhodne vyuzit, ak chcem 'rovnomerne' bodkami vyplnit nejaku oblast // if ((x+y)%2) // if (((x+y)%3) == 1) // KRUZNICA A KRUH // if ((1.0*((x-stred)*(x-stred)+(y-stred)*(y-stred)) > 0.95*stred*stred) // && (1.0*((x-stred)*(x-stred)+(y-stred)*(y-stred)) < 1.05*stred*stred)) // kruznica // if (1.0*((x-stred)*(x-stred)+(y-stred)*(y-stred)) < 1.1*stred*stred) // kruh; // vyrazi x-stred a y-stred reprezentuju vlastne posun pociatku suradnicovej sustavy do stredu obrazku printf("*"); else printf("."); } } printf("\n"); } } } return 0; }