int WierszKtego(int *arr, int len, int k) { int wiersz = 0, rzad = 1; for(int i = 0; i < len; i++) { if(i == rzad - 1) { wiersz++; rzad = 2 * rzad; } if(arr[i] == k) return wiersz; } return 0; } int WierszZle(int *tab, int len) { int wiersz = 0, rzad = 1, ojciec = 0; for(int i = 0; i < len; i++) { int synL = 2 * ojciec + 1, synR = 2 * ojciec + 2; if(i == rzad - 1) { wiersz++; rzad = 2 * rzad; } if((synL <= len) && (tab[synL] > tab[ojciec])) return wiersz; else if ((synR <= len) && (tab[synR] > tab[ojciec])) return wiersz; ojciec++; } return 0; } int Lsyn(int p) { return (p * 2) + 1; } int Psyn(int p) { return (p * 2) + 2; } int Ojcec(int p) { return (p - 1) / 2; }