Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int size = 0;
- void fill(int* arr,int start,int end);
- void printRow(int* arr);
- int main(void){
- int start;
- int end;
- int i;
- char buf[10] = { 0 };
- printf("enter size: ");
- fgets(buf, 10, stdin);
- size = atoi(buf);
- if (size <= 0) {
- printf("wrong size\n");
- return 1;
- }
- int arr[size][size];
- if (size % 2 == 0){
- start = size/2 - 1;
- end = size/2;
- for (i = 0; end < size; i++,start--,end++){
- fill(arr[i],start,end);
- }
- start++;
- end--;
- }
- else {
- start = size/2;
- end = size/2;
- for (i = 0; end < size; i++,start--,end++){
- fill(arr[i],start,end);
- }
- start += 2;
- end -= 2;
- }
- for (; i < size; i++, start++, end--){
- fill(arr[i],start,end);
- }
- for (i = 0; i < size; i++) {
- printRow(arr[i]);
- }
- return 0;
- }
- void fill(int* arr,int start,int end){
- for(int i = 0; i < size; i++){
- if (i < start || i > end)
- arr[i] = 0;
- else
- arr[i] = 1;
- }
- }
- void printRow(int* arr){
- for (int i = 0; i < size; i++){
- printf("%d", arr[i]);
- }
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement