std::string encodeString(std::string str) {
std::string result = "";
int count = 0;
int len = str.length();
for (int i = 0; i < len; i++) {
count++;
if (i == len - 1 || str[i] != str[i + 1]) {
result += str[i] + std::to_string(count);
count = 0;
}
}
return result;
}
были некоторые идеи с маской, но я не знаю как правильно ее реализовать
xor
. return *this
в конце нужных методов. Например:class XXX {
double val;
public:
XXX(double v) {
val = v;
}
XXX& add(double v) {
val += v;
return *this;
}
XXX& sub(double v) {
val -= v;
return *this;
}
friend std::ostream& operator <<(std::ostream &os, const XXX &x) {
return os << x.val;
}
};
...
std::cout << XXX(5).sub(1).add(2).sub(3).add(4) << endl; // 7
#include <iostream>
#include <iomanip>
#include <bits/stdc++.h>
using namespace std;
int main()
{
const int N = 6;
int m[N][N] = { 0 };
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
int x = min(min(i, j), min(N - 1 - i, N - 1 - j));
m[i][j] = N * N + 1 - (i > j
? (N - 2 * x - 2) * (N - 2 * x - 2) + (i - x) + (j - x)
: (N - 2 * x) * (N - 2 * x) - (i - x) - (j - x)
);
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << setw(5) << m[i][j];
}
cout << endl;
}
return 0;
}
int value = // ваше число, чему-то там равно, вам виднее
int bit = // номер вырезаемого бита, тоже вам виднее
int maskLower = 0;
for (int i = 0; i < bit - 1; i++) {
maskLower |= 1 << i;
}
int maskUpper = ~maskLower;
value = ((value >> 1) & maskUpper) | (value & maskLower);
string s = " qwerty\n\
asdfgh\n\
zxcvbn";
string s = R"( qwerty
asdfgh
zxcvbn)";
string s = "01234567890,#";
if (s.find(a[i]) != string::npos) {
for (int j = i + i;...
, наверное всё-таки должно быть i + 1
.