x&1
. Сдвинуть все биты числа на одну позицию вправо - это x >> 1
. При этом младший бит пропадает. Чтобы вставить новый бит b слева нужно сделать x | (b << k)
- тут k - номер позиции этого бита, считая с 0.i % columns
?if (!a) {
a->s = s;
cout << 5;
return a; //ошибка, не возвращает указатель на обьект класса
}
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
ZeroMemory
:STARTUPINFO info={sizeof(info)};
void Reverse (int *a, int x, int y) {
int i = y+1;
int j = x-1;
while (i < j) {
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
i++;
j--;
}
}
for (int i=x+1, j = y-1; i < j; i++, j--) {
std::swap(a[i], a[j]);
}
std::reverse( &a[x+1], &a[y]);
and
, надо использовать &&
.