Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main(void)
- {
- int koko, nelio[50][50], x, y, i, maara;
- printf("Annan taikaneliön koko:");
- scanf("%i", &koko);
- /* tulostetaan taikaneliön kokoinen neliö täyteen nollia*/
- for(y = 0; y < koko; y++)
- {
- for(x = 0; x < koko; x++)
- {
- if(x == 4)
- {
- nelio[y][x] = 0;
- }
- else
- {
- nelio[y][x] = 0;
- }
- }
- }
- /* testaus "alustettua neliötä varten
- for(y = 0; y < koko; y++)
- {
- for(x = 0; x < koko; x++)
- {
- if(x == koko - 1)
- {
- printf("%i \n", nelio[y][x]);
- }
- else
- {
- printf("%i ", nelio[y][x]);
- }
- }
- } */
- y = 0;
- x = koko / 2;
- maara = koko * koko;
- nelio[y][x] = 1;
- /*printf("%i", y);*/
- for(i = 2; i < maara + 1; i++)
- {
- /*printf("%i", i);*/
- x++;
- y--;
- /*Jos sijoitus menisi sekä ylhäältä että oikealta yli, sijoitus viimeisen alapuolelle.*/
- if(y < 0 && x > koko -1)
- {
- x--;
- y++;
- y++;
- nelio[y][x] = i;
- printf("%i %i %i\n", i, x, y);
- }
- /*Jos sijoitus veisi yläreunan yli, sijoitus alareunaan.*/
- else if (y < 0)
- {
- y = koko-1;
- nelio[y][x] = i;
- printf("%i %i %i\n", i, x, y);
- }
- /*Jos sijoitus menisi oikealta yli, sijoitus vasempaan reunaan.*/
- else if (x>koko-1)
- {
- x=0;
- nelio[y][x] = i;
- printf("%i %i %i\n", i, x, y);
- }
- /*Jos sijoitus on jo täytetty, sijoitus viimeisen alapuolelle. */
- else if (nelio[y][x] > 0)
- {
- y++;
- y++;
- x--;
- nelio[y][x] = i;
- printf("%i %i %i\n", i, x, y);
- }
- else
- {
- nelio[y][x] = i;
- printf("%i %i %i ok\n", i, x, y);
- }
- }
- /*neliön tulostus*/
- for(y = 0; y < koko; y++)
- {
- for(x = 0; x < koko; x++)
- {
- if(x == koko - 1)
- {
- printf("%i \n", nelio[y][x]);
- }
- else
- {
- printf("%i ", nelio[y][x]);
- }
- }
- }
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement