50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
void print(int arr[], int n, int index, int level) {
|
|
if (index < n) {
|
|
for (int i = 0; i < level; i++) {
|
|
printf(" ");
|
|
}
|
|
printf("%d\n", arr[index]);
|
|
|
|
int left_index = 2 * index + 1;
|
|
int right_index = 2 * index + 2;
|
|
|
|
print(arr, n, left_index, level + 1);
|
|
print(arr, n, right_index, level + 1);
|
|
}
|
|
}
|
|
int binary (int arr[], int n) {
|
|
for (int i = 0; i < n; i++) {
|
|
int left_index = 2 * i + 1;
|
|
int right_index = 2 * i + 2;
|
|
|
|
if (left_index < n && arr[left_index] < arr[i]) {
|
|
return 0;
|
|
}
|
|
|
|
if (right_index < n && arr[right_index] < arr[i]) {
|
|
return 0;
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
int main () {
|
|
int arr[100];
|
|
int n = 0;
|
|
|
|
while (scanf("%d", &arr[n]) == 1) {
|
|
n++;
|
|
}
|
|
|
|
if (binary(arr,n)) {
|
|
printf("Je to taka kopa:\n");
|
|
print(arr, n, 0, 0);
|
|
|
|
}else{
|
|
printf("Nie je kopa.\n");
|
|
}
|
|
|
|
return 0;
|
|
} |