Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- #define SIZE 8//может быть число до 10
- //populate array in quite interesting way, works both with if/else if/else and trenary operator
- void pr_arr(int s,int a[SIZE][SIZE]);
- void snake(int s,int a[SIZE][SIZE]);
- int main()
- {
- int arr[SIZE][SIZE];
- printf("SNAKE is:\n");
- snake(SIZE,arr);
- pr_arr(SIZE,arr);
- return 0;
- }
- void pr_arr(int s,int a[SIZE][SIZE])
- {
- int i,j;
- for(i=0;i<s;i++)
- {
- for(j=0;j<s;j++)
- printf("%d\t",a[i][j]);
- printf("\n");
- }
- }
- void snake(int s,int a[SIZE][SIZE])
- {
- int i,j,step_down,step_right,start = 1;
- step_down = step_right = 0;
- for(i=0;i<s;i++)
- {
- for(j=0;j<s;j++)
- {
- a[i][j]=(j==0)? start: //assigns value to element
- (j<s-i)?a[i][j-1]+step_right++:
- a[i][j-1]-1+step_right--;
- if(j==0)step_right= i+2;
- /*if(j==0)//replace with ternary operator!
- a[i][j]= start, step_right =i+2 ;//step_right initialized once for each i, when j==0
- else if(j<s-i)
- a[i][j] = a[i][j-1]+ step_right++;
- else
- a[i][j] = a[i][j-1]-1+step_right--;*/
- }
- step_down++;
- start += step_down;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement