#include #include void preorder(int *a, int n, int i, int level) { if (i >= n) return; for (int j = 0; j < level; j++) // вирізали прогалини за рівнем printf(" "); printf("%d\n", a[i]); preorder(a, n, 2 * i + 1, level + 1); // left preorder(a, n, 2 * i + 2, level + 1); // right } int main() { int a[1000]; int n = 0; while (scanf("%d", &a[n]) == 1) { n++; } for (int i = 0; i < n; i++) { // перевірка min-heap int l = 2 * i + 1; int r = 2 * i + 2; if (l < n && a[l] < a[i]) { printf("Nie je kopa.\n"); return 0; } if (r < n && a[r] < a[i]) { printf("Nie je kopa.\n"); return 0; } } printf("Je to taka kopa:\n"); preorder(a, n, 0, 0); return 0; }