Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Oct 29th, 2011  |  syntax: C++  |  size: 6.05 KB  |  hits: 735  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const int N = 8;
  6.  
  7. char Mrizka[N][N];
  8.  
  9. void SmazMrizku(void);
  10. void Hvezda(const int, const int);
  11. void VytiskniMrizku(void);
  12.  
  13. void SmazMrizku() {
  14.  
  15.         for(int i = 0; i < N; i++)
  16.                 for(int j = 0; j < N; j++)
  17.                         Mrizka[i][j] = ' ';
  18.  
  19. }
  20.  
  21. void Hvezda(const int Radek, const int Stloupec) {
  22.         if (0 <= Radek && Radek < N && 0 <= Stloupec && Stloupec < N)
  23.                 Mrizka[Radek][Stloupec] = '*';
  24.         else
  25.                 printf("Souradnice mimo meze!\n");
  26. }
  27.  
  28. void VytiskniMrizku() {
  29.         for(int i = 0; i < N; i++)
  30.         {
  31.                 for(int j = 0; j < N; j++)
  32.                         cout << Mrizka[i][j];
  33.                 cout << endl;
  34.         }
  35.         cout << endl;
  36. }
  37.  
  38. int main() {
  39.         int median = N / 2;
  40.         bool strana = true, orientacia = true;
  41.  
  42.         /* Obrazec cislo 1 */
  43.         SmazMrizku();
  44.         for(int i = 0; i < N; i++) {
  45.                 Hvezda(i,i); // diagonala
  46.                 Hvezda(i,median); // zvisly riadok *
  47.                 Hvezda(i,N-i-1); // opacna diagonala
  48.                 Hvezda(median,i); // vodorovny riadok *
  49.         }
  50.         VytiskniMrizku();
  51.  
  52.         /* Obrazec cislo 2 */
  53.         SmazMrizku();
  54.         for(int i = 0; i < N; i++) {
  55.                 Hvezda(0,i); // vodorovny riadok prvy
  56.                 Hvezda(i,0); // horizontalny riadok
  57.                 Hvezda(i,median);
  58.                 Hvezda(median,i);
  59.                 Hvezda(i,N-1);
  60.                 Hvezda(N-1,i); // vodorovny riadok posledny
  61.         }
  62.         VytiskniMrizku();
  63.  
  64.         /* Obrazec cislo 3 */
  65.         SmazMrizku();
  66.         for(int i = 0; i < N; i++) {
  67.                 Hvezda(0,i); // prvy vodorovny riadok
  68.                 Hvezda(i,0); // prvy zvisly riadok
  69.                 Hvezda(i,i); // diagonala
  70.                 Hvezda(i,N-i-1); // opacna diagonala
  71.                 Hvezda(i,N-1); // posledny zvisly riadok
  72.                 Hvezda(N-1,i); // posledny vodorovny riadok
  73.         }
  74.         VytiskniMrizku();
  75.  
  76.         /* Obrazec cislo 4 */
  77.         SmazMrizku();
  78.         for(int i = 0; i < N; i++) {
  79.                 Hvezda(0,i); // vo dorovná horní
  80.                 Hvezda(i,N-1-i); // diagonála
  81.                 Hvezda(N-1,i); // vodorovná spodní
  82.         }
  83.         VytiskniMrizku();
  84.  
  85.         /* Obrazec cislo 5 */
  86.         SmazMrizku();
  87.         for(int i = 0; i < N; i++) {
  88.                 Hvezda(0,i);
  89.                 Hvezda(i,i);
  90.                 Hvezda(N-1,i);
  91.         }
  92.         VytiskniMrizku();
  93.  
  94.         /* Obrazec cislo 6 */
  95.         SmazMrizku();
  96.         for(int i = 0; i < N; i++) {
  97.                 Hvezda(i,0);
  98.                 Hvezda(i,i);
  99.                 Hvezda(i,N-1);
  100.  
  101.         }
  102.         VytiskniMrizku();
  103.  
  104.  
  105.         /* Obrazec cislo 7 */
  106.         SmazMrizku();
  107.         for(int i = 0; i < N; i++) {
  108.                 Hvezda(i,0);
  109.                 Hvezda(i,N-i-1);
  110.                 Hvezda(i,N-1);
  111.  
  112.         }
  113.         VytiskniMrizku();
  114.  
  115.  
  116.         /* Obrazec cislo 8 */
  117.         SmazMrizku();
  118.  
  119.         for(int i = 0; i < N; i++) {
  120.                 Hvezda(0,i);
  121.                 Hvezda(i,0);
  122.  
  123.                 if (i % 2 == 0) {
  124.                         for(int j = 0; j < N; j++) {
  125.                                 Hvezda(i,j);
  126.                                 Hvezda(j,i);
  127.                         }
  128.                 }
  129.         }
  130.  
  131.         VytiskniMrizku();
  132.  
  133.         /* Obrazec cislo 9 */
  134.         SmazMrizku();
  135.  
  136.         for(int i = 0; i < N; i++) {
  137.                 Hvezda(N/3, i);
  138.                 Hvezda(i, N/3);
  139.                 Hvezda(i, (2*N)/3);
  140.                 Hvezda((2*N)/3, i);
  141.         }
  142.  
  143.         VytiskniMrizku();
  144.  
  145.  
  146.         /* Obrazec cislo 10 */
  147.         SmazMrizku();
  148.         for(int i = 0; i < N; i++) {
  149.                
  150.                 if (i % 2 == 0) {
  151.                         for(int j = 0; j < N; j++)
  152.                                 Hvezda(i,j);
  153.                 }
  154.                 else {
  155.                         if (strana) {
  156.                                 Hvezda(i,N-1);
  157.                                 strana = false;
  158.                         }
  159.                         else {
  160.                                 Hvezda(i,0);
  161.                                 strana = true;
  162.                         }
  163.                 }
  164.         }
  165.         VytiskniMrizku();
  166.  
  167.         /* Obrazec cislo 11 */
  168.         SmazMrizku();
  169.         for(int i = 0; i < N; i++) {
  170.                
  171.                 if (i % 2 == 0) {
  172.                         for(int j = 0; j < N; j++)
  173.                                 Hvezda(j,i);
  174.                 }
  175.                 else {
  176.                         if (orientacia) {
  177.                                 Hvezda(N-1,i);
  178.                                 orientacia = false;
  179.                         }
  180.                         else {
  181.                                 Hvezda(0,i);
  182.                                 orientacia = true;
  183.                         }
  184.                 }
  185.         }
  186.         VytiskniMrizku();
  187.  
  188.  
  189.         /* Obrazec cislo 12 */
  190.         SmazMrizku();
  191.         for(int i = 0; i < N; i++) {
  192.                
  193.                 if (i % 2 == 0) {
  194.                         for(int j = 0; j < N; j++)
  195.                                 if (j % 2 != 0)
  196.                                         Hvezda(i,j);
  197.                 }
  198.                 else {
  199.                         for(int k = 0; k < N; k++)
  200.                                 if (k % 2 == 0)
  201.                                         Hvezda(i,k);
  202.                 }
  203.         }
  204.         VytiskniMrizku();
  205.  
  206.  
  207.         /* Obrazec cislo 13 */
  208.         SmazMrizku();
  209.         for(int i = 0; i < N; i++) {
  210.                
  211.                 if (i < median) {
  212.                         Hvezda(0,i);
  213.                         Hvezda(i,0);
  214.                         Hvezda(i,median-1);
  215.                         Hvezda(median-1,i);
  216.                 }
  217.                 else {
  218.                         Hvezda(i,N-1);
  219.                         Hvezda(median,i);
  220.                         Hvezda(i,median);
  221.                         Hvezda(N-1,i);
  222.                 }
  223.         }
  224.         VytiskniMrizku();
  225.  
  226.  
  227.         /* Obrazec cislo 14 */
  228.         SmazMrizku();
  229.         for(int i = 0; i < N; i++) {
  230.                
  231.                 if (i < median)
  232.                         for(int j = 0; j < median; j++)
  233.                                 Hvezda(median+i,j);
  234.                 else
  235.                         for(int j = median; j < N; j++)
  236.                                 Hvezda(i-median,j);
  237.                
  238.         }
  239.         VytiskniMrizku();
  240.  
  241.  
  242.         /* Obrazec cislo 15 */
  243.         SmazMrizku();
  244.         for(int i = 0; i < N; i++) {
  245.                
  246.                 if (i < median) {
  247.                         Hvezda(i, median-i-1);
  248.                         Hvezda(i, median+i);
  249.                 }
  250.                 else if (i >= median) {
  251.                          Hvezda(i, i-median);
  252.                          Hvezda(i, (N+median-1)-i);
  253.                          
  254.                 }
  255.                
  256.         }
  257.         VytiskniMrizku();
  258.  
  259.  
  260.         /* Obrazec cislo 16 */
  261.         SmazMrizku();
  262.         for(int i = 0; i < N; i++) {
  263.  
  264.                 if (i < median) {
  265.                         for(int j = median-i-1; j <= median+i; j++)
  266.                                 Hvezda(i,j);
  267.                 }
  268.                 else {
  269.                         for(int j = i-median; j < N+median-i; j++)
  270.                                 Hvezda(i,j);
  271.                 }
  272.         }
  273.         VytiskniMrizku();
  274.  
  275.  
  276.         /* Obrazec cislo 17 */
  277.         SmazMrizku();
  278.         for(int i = 0; i < N; i++) {
  279.  
  280.                 for(int j = 0; j < N; j++)
  281.                         if ((i+j) % 3 == 0)
  282.                                 Hvezda(i,j);
  283.                
  284.         }
  285.         VytiskniMrizku();
  286.  
  287.         /* Obrazec cislo 18 - by Pavel Puček */
  288.         SmazMrizku();
  289.  
  290.         int x = 1;
  291.  
  292.         for (int i = 0, j = 0; i < N; i++, j += x) {
  293.                 for (int k = j; k < N; k += 3)
  294.                         Hvezda(i, k);
  295.  
  296.                 if (i % 3 == 0 && i > 0)
  297.                         x *= -1;
  298.         }
  299.         VytiskniMrizku();
  300.  
  301.         /* Obrazec cislo 19 */
  302.         SmazMrizku();
  303.         for(int i = 0; i < N; i++) {
  304.  
  305.                 if (i < median) {
  306.                         for(int j = i; j < N-i; j++)
  307.                                 Hvezda(i,j);
  308.                 }
  309.                 else {
  310.                         for(int j = N-i-1; j <= i; j++)
  311.                                 Hvezda(i,j);
  312.                 }
  313.         }
  314.         VytiskniMrizku();
  315.  
  316.         /* Obrazec cislo 20 */
  317.         SmazMrizku();
  318.  
  319.         int pocCtvercov = N / 4, tmp = 0, poc = 0;
  320.         int plus = 0;
  321.         bool zaciatok = true;
  322.  
  323.         for(int i = 0; i < N; i++) {
  324.                 tmp = 0;
  325.                 poc = 0;
  326.                
  327.                 if (plus == 0 || plus == 1) {
  328.  
  329.                         while (poc != pocCtvercov) {
  330.  
  331.                                 for(int j = tmp; j < tmp+2; j++)
  332.                                         Hvezda(i, j);
  333.                        
  334.                         tmp += 4;
  335.                         poc++;
  336.                         }
  337.                         plus++;
  338.                 }
  339.                 else if (plus == 2) {
  340.                         tmp = 2;
  341.                         while (poc != pocCtvercov) {
  342.  
  343.                                 for(int j = tmp; j < tmp+2; j++)
  344.                                         Hvezda(i, j);
  345.                        
  346.                         tmp += 4;
  347.                         poc++;
  348.                         }
  349.                         plus++;
  350.                 }
  351.                 else if (plus == 3) {
  352.                         tmp = 2;
  353.                         while (poc != pocCtvercov) {
  354.  
  355.                                 for(int j = tmp; j < tmp+2; j++)
  356.                                         Hvezda(i, j);
  357.                        
  358.                         tmp += 4;
  359.                         poc++;
  360.                         }
  361.                         plus = 0;
  362.                 }
  363.         }
  364.         VytiskniMrizku();
  365.  
  366.         system("PAUSE");
  367.  
  368.         return 0;
  369. }
  370.  
  371.