Advertisement
Guest User

Untitled

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