{noformat} объявление
string s; ??? - до 2Гбт

cin >> s; // Если строка не содержит пробелов
getline(cin,s); // Если строка содержит пробелы

d=s.length(); // Длина строки - количество символов в ней

Над строковыми переменными возможно выполнение следующих операций,
функций и процедур.

Операции:

сравнения ( ==(равно) !=(не равно) < <= > >=)
конкатенации + s4=s1+s2+s3; { объединение строк }

Функции:

d =s.length() // вернуть длину строки
s2=s1.substr(Index,Count) // выделить подстроку из строки s1
с позиции Index (нумерация с нуля!!!)
Count символов

s.erase(Index,Count) // удалить из строки s, с позиции Index, Count символов
// результат оставить в строке s

s1.insert(Index,s2); // вставить в строку s1 c позиции Index строку s2

p=s1.find(s2) // найти позицию первого вхождения строки s1 в строку s2
// то есть
// занести в переменную p номер первой позиции,
// начиная с которой строка s2 находится в строке s1
// если подстроки s2 нет в строке s1, p=-1

char c;
int k;

c='a';
k=c; // получить код символа

k='b';
c=k; // получить символ по коду

k=c-'0'; // получить цифру по её символу

c=toupper(c); // только для латинских букв
// маленький символ превратить в большой

c=tolower(c); // только для латинских букв
// большой символ превратить в маленький

string s;
int x;

x=atoi(s.c_str()) // преобразовать строку s в число x
s=to_string(x); // преобразовать число x в строку s



s[i]='a'; // Замена символа строки

// Формирование строки добавлением символов
d=s.length();
p=""; // пустая строка
for (i=0; i<d; i++) p=s[i]+p; // переворачивание строки
// p=s[i]+'*'; добавление символа '*' после каждого символа


sort(s.begin(),s.end()); // сортировка строки s

isdigit(с) // является ли символ с цифрой (функция)
isupper(c) // является ли символ с большой латинской буквой (функция)
islower(c) // является ли символ с маленькой латинской цифрой (функция)


cin >> n >> m; getline(cin,s); // "проглатывание" до конца строки после ввода чисел

p=s.find_last_of(с); // позиция последнего вхождения символа c в строку s

for (i=0; i<d-2; i+=3) // обрабатываем каждое третье i с нуля: 0,3,6,9 ...

if (i%2) // проверяем i на нечётность (остаток от деления на 2 не равен 0)


int a[10]={5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; // массив констант

int steps[8][2] = {{1,-2},{1,2},{-1,-2},{-1,2}, // двумерный массив констант
{2,-1},{2,1},{-2,-1},{-2,1}};{noformat} \\