Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int size = 0;
  4.  
  5. void fill(int* arr,int start,int end);
  6. void printRow(int* arr);
  7.  
  8. int main(void){
  9.     int start;
  10.     int end;
  11.     int i;
  12.     printf("enter size: ");
  13.     scanf("%d", &size);
  14.     int arr[size][size];
  15.     if (size % 2 == 0){
  16.         start = size/2 - 1;
  17.         end = size/2;
  18.         for (i = 0; end < size; i++,start--,end++){
  19.             fill(arr[i],start,end);
  20.         }
  21.         start++;
  22.         end--;
  23.         for (; i < size; i++, start++, end--){
  24.             fill(arr[i],start,end);
  25.         }
  26.     }
  27.     else {
  28.         start = size/2;
  29.         end = size/2;
  30.         for (i = 0; end < size; i++,start--,end++){
  31.             fill(arr[i],start,end);
  32.         }
  33.         start += 2;
  34.         end -= 2;
  35.         for (; i < size; i++, start++, end--){
  36.             fill(arr[i],start,end);
  37.         }
  38.     }
  39.  
  40.     for (i = 0; i < size; i++) {
  41.         printRow(arr[i]);
  42.     }
  43.  
  44.     return 0;
  45. }
  46.  
  47. void fill(int* arr,int start,int end){
  48.     for(int i = 0; i < size; i++){
  49.         if (i < start || i > end)
  50.             arr[i] = 0;
  51.         else
  52.             arr[i] = 1;
  53.     }
  54. }
  55.  
  56. void printRow(int* arr){
  57.     for (int i = 0; i < size; i++){
  58.         printf("%d", arr[i]);
  59.     }
  60.     printf("\n");
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement