BlueBear icon

HviezdickovanieUtvarov.c

BlueBear | PRO | 10/11/12 07:50:12 AM UTC | 0 ⭐ | 657 👁️ | Never ⏰ | []
C |

3.27 KB

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <stdlib.h>  // 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<opak; i++)   // cyklus pre realizovanie jednotlivych obrazcov
  {
 
    scanf("%d %d %d", &vyska, &sirka, &velk); // nacitanie vstupov o obrazci
 
    if (velk%2 == 0) // osetrenie vstupov; mozeme sem pridat aj dalsie podmienky, napr. na premenne vyska, sirka, ...
      return 1;
 
    int stred = velk/2; // stred vyjadruje suradnicu osi symetrie zakladneho vzoru
                        // netreba +1 pretoze indexujem od nuly
 
    for (py = 0; py < vyska; py++) // cyklus realizujuci opakovanie obrazcov pod seba
    {
      for (y = 0; y < velk; y++)   // cyklus realizujuci vypis jednotlivych riadkov zakladneho vzoru
      {
        for (px = 0; px < sirka; px++) // cyklus realizujuci opakovanie obrazcov vedla seba
        {
          for (x = 0; x < velk; x++)  // cyklus na prechod jedneho riadku, v ramci zakladneho vzoru
          {
            // podmienka vyjadrujuca zakladny vzor
            // V tomto vzore demonstrujem viacere zakladne vzory,
            // k pouzitiu je nutne aktualnu podmienku zakomentovat, a odkomentovat prislusnu
            // VZDY TEDA MUSI BYT AKTIVNA - ODKOMENTOVANA LEN JEDINA PODMIENKA
 
            // Vsimnite si, ze pre vyraz == sa definuje iba urcita 'ciara',
            // zatial co pri nerovnoasti >, >=, <, <= 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;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  • Syutrsz icon
    03/31/26 11:01:52 PM UTC
    text |

    0 B

    |

    0 👍

    /

    0 👎

    Best t33n active cpx link daily updates!
     Copy and paste the link in a new browser tab and then hit enter!
     https://crazyporn.@xxx/members/157354/?asgtbndr=1&play=true&spon=adworld&zone=400
     Remove the @ 
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎