Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.47 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.     int koko, nelio[50][50], x, y, i, maara;
  6.  
  7.     printf("Annan taikaneliön koko:");
  8.     scanf("%i", &koko);
  9.  
  10.  
  11.     /* tulostetaan taikaneliön kokoinen neliö täyteen nollia*/
  12.     for(y = 0; y < koko; y++)
  13.     {
  14.         for(x = 0; x < koko; x++)
  15.         {
  16.             if(x == 4)
  17.             {
  18.                 nelio[y][x] = 0;
  19.             }
  20.             else
  21.             {
  22.             nelio[y][x] = 0;
  23.             }
  24.         }
  25.     }
  26.  
  27.     /* testaus "alustettua neliötä varten
  28.     for(y = 0; y < koko; y++)
  29.     {
  30.         for(x = 0; x < koko; x++)
  31.         {
  32.             if(x == koko - 1)
  33.             {
  34.                 printf("%i \n", nelio[y][x]);
  35.             }
  36.             else
  37.             {
  38.             printf("%i ", nelio[y][x]);
  39.             }
  40.         }
  41.     } */
  42.  
  43.     y = 0;
  44.     x = koko / 2;
  45.     maara = koko * koko;
  46.     nelio[y][x] = 1;
  47.     /*printf("%i", y);*/
  48.  
  49.     for(i = 2; i < maara + 1; i++)
  50.     {
  51.         /*printf("%i", i);*/
  52.         x++;
  53.         y--;
  54.  
  55.         /*Jos sijoitus menisi sekä ylhäältä että oikealta yli, sijoitus viimeisen alapuolelle.*/
  56.         if(y < 0 && x > koko -1)
  57.         {
  58.             x--;
  59.             y++;
  60.             y++;
  61.  
  62.             nelio[y][x] = i;
  63.             printf("%i %i %i\n", i, x, y);
  64.  
  65.         }
  66.  
  67.         /*Jos sijoitus veisi yläreunan yli, sijoitus alareunaan.*/
  68.  
  69.         else if (y < 0)
  70.         {
  71.             y = koko-1;
  72.             nelio[y][x] = i;
  73.             printf("%i %i %i\n", i, x, y);
  74.         }
  75.  
  76.         /*Jos sijoitus menisi oikealta yli, sijoitus vasempaan reunaan.*/
  77.         else if (x>koko-1)
  78.         {
  79.             x=0;
  80.             nelio[y][x] = i;
  81.             printf("%i %i %i\n", i, x, y);
  82.         }
  83.  
  84.         /*Jos sijoitus on jo täytetty, sijoitus viimeisen alapuolelle. */
  85.         else if (nelio[y][x] > 0)
  86.         {
  87.             y++;
  88.             y++;
  89.             x--;
  90.             nelio[y][x] = i;
  91.             printf("%i %i %i\n", i, x, y);
  92.  
  93.         }
  94.  
  95.         else
  96.         {
  97.             nelio[y][x] = i;
  98.             printf("%i %i %i ok\n", i, x, y);
  99.         }
  100.  
  101.  
  102.  
  103.  
  104.     }
  105.  
  106.     /*neliön tulostus*/
  107.     for(y = 0; y < koko; y++)
  108.     {
  109.         for(x = 0; x < koko; x++)
  110.         {
  111.             if(x == koko - 1)
  112.             {
  113.                 printf("%i \n", nelio[y][x]);
  114.             }
  115.             else
  116.             {
  117.             printf("%i ", nelio[y][x]);
  118.             }
  119.         }
  120.     }
  121.  
  122.     return(0);
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement