Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define N 11
- #define M 11
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int power(int x,int p)
- {
- return p == 0 ? 1 : x * power(x,p-1);
- }
- int tab_sum(int* tab, int first, int length)
- {
- return first >= length ? 0 : tab_sum(tab,first+1,length) + tab[first];
- }
- int fib(int n)
- {
- if(n == 1 || n == 0) return 0;
- if(n == 2) return 1;
- return fib(n-1) + fib(n-2);
- }
- void cross(int **tab, int start_w, int start_k, int stop_w, int stop_k)
- {
- int middleWidth = (stop_w - start_w) / 2;
- int middleHeight = (stop_k - start_k) / 2;
- if(middleWidth <= 1) return;
- if(middleHeight <= 1) return;
- int i;
- for(i = start_w; i <= stop_w; i++)
- {
- tab[i][middleHeight] = 1;
- }
- for(i = start_k; i <= stop_k; i++)
- {
- tab[middleWidth][i] = 1;
- }
- cross(tab,start_w,start_k,middleWidth,middleHeight);
- }
- int main(int argc, char *argv[])
- {
- int** tab = (int**)calloc(N,sizeof(int*));
- int i;
- for(i = 0; i < N; i++)
- {
- tab[i] = (int*)calloc(M,sizeof(int));
- }
- // krzyz
- cross(tab,0,0,M-1,N-1);
- int j;
- for(i = 0; i < N; i++)
- {
- printf("\n");
- for(j = 0; j < M; j++)
- {
- printf(" %d", tab[i][j]);
- }
- }
- /* printf("%d",power(2,4)); */
- /*
- int tab[4] = {2,2,5,5};
- printf("%d",tab_sum(tab,0,4));
- */
- /* printf("%d",fib(4)); */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement