C++ geek
3.56K subscribers
253 photos
2 videos
16 links
Учим C/C++ на примерах
Download Telegram
C++, Cpp, Cplus, Cpluses
Методы строк 2

s.erase(pos) - удаляет из строки s с символа с индексом pos и до конца строки.

s.erase(pos, count) - удаляет из строки s с символа с индексом pos количеством count или до конца строки, если pos + count > s.size().

s.insert(i, n, c) - вставить n одинаковых символов, равных с. n имеет целочисленный тип, c - char.

s.insert(i, t) - вставить содержимое строки t. t может быть объектом класса string или C-строкой.

s.insert(i, t, pos, count) - вставить символы строки t начиная с символа с индексом pos количеством count.

s.substr(pos) - возвращает подстроку данной строки начиная с символа с индексом pos и до конца строки.

s.substr(pos, count) - возвращает подстроку данной строки начиная с символа с индексом pos количеством count или до конца строки, если pos + count > s.size().

➡️ @cpp_geek
👍6
Методы строк 3

s.replace(pos, count, n, c) - вставить n одинаковых символов, равных с. n имеет целочисленный тип, c - char.

s.replace(pos, count, t) - вставить содержимое строки t. t может быть объектом класса string или C-строкой.

s.replace(pos, count, t, pos2, count2) - вставить символы строки T начиная с символа с индексом pos количеством count.

s.find(str, pos = 0) - искать первое вхождение строки str начиная с позиции pos. Если pos не задано - то начиная с начала строки s.

s.find(str, pos, n) - искать в данной строке подстроку, равную первым n символам строки str. Значение pos должно быть задано.

s.find_first_of(str, pos = 0) - искать первое вхождение любого символа строки str начиная с позиции pos. Если pos не задано - то начиная с начала строки s.

➡️ @cpp_geek
👍3
Обучающий канал по C++, Cpp
Функция any_of

Эта функция проверяет заданный диапазон, если хотя бы один элемент удовлетворяет заданному свойству, указанному в функции. Возвращает true, если хотя бы один элемент удовлетворяет свойству, иначе возвращает false.

В приведенном выше коде -6 делает условие положительным.

Вывод: There exists a negative element

➡️ @cpp_geek
👍2
Функция unique

unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [first, last). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.

➡️ @cpp_geek
👍2
Функция all_of

Эта функция работает со всем диапазоном элементов массива и может сэкономить время на запуск цикла для проверки каждого элемента по одному. Он проверяет заданное свойство для каждого элемента и возвращает true, когда каждый элемент в диапазоне удовлетворяет указанному свойству, иначе возвращает false.

В приведенном выше коде отрицательный элемент -6 отрицает условие и возвращает ложь.

➡️ @cpp_geek
👍5
Функция minmax_element

Находит самый маленький и самый большой элемент в диапазоне [first, last).

➡️ @cpp_geek
👍2
std::string класс в C++

Класс string хранит символы как последовательность байтов с возможностью доступа к каждому символу. Рассмотрим три простые функции:

1. getline() - функция используется для помещения потока символов, введенных пользователем, в память объекта.

2. push_back() - функция используется для добавления символа в конец строки.

3. pop_back() - введенная в C++11 (для строк), эта функция используется для удаления последнего символа из строки.

➡️ @cpp_geek
👍7
Функция none_of()

Эта функция возвращает true, если ни один из элементов не удовлетворяет данному условию, иначе возвращает false.

Поскольку все элементы положительны, функция возвращает true.

➡️ @cpp_geek
👍4
Функция find_first_of

Ищет в строке первый символ, который соответствует любому из символов, указанных в его аргументах.

Когда задан pos , поиск включает только символы в позиции pos или после нее , игнорируя любые возможные вхождения перед pos .

➡️ @cpp_geek
👍5
Функции вместимости в строках

1. capacity() - функция возвращает ёмкость памяти, выделенную для строки, которая может быть равной или больше, чем размер самой строки. Дополнительное пространство выделяется таким образом, чтобы при добавлении новых символов в строку операции могли выполняться эффективно.
2. resize() - функция изменяет размер строки, его можно увеличивать или уменьшать.
3. length() - функция возвращает длину строки.
4. shrink_to_fit() - функция уменьшает ёмкость памяти строки, делает ее равной минимально возможной. Эта операция полезна для экономии дополнительной памяти, когда мы уверены, что больше не нужно добавлять символы.

➡️ @cpp_geek
👍8
Функция unique

unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [first, last). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.

➡️ @cpp_geek
👍2
Итераторы в строках

1. begin() - возвращает итератор в начало строки.
2. end() - возвращает итератор в конец строки.
3. rbegin() - возвращает обратный итератор, указывающий на конец строки.
4. rend() - возвращает обратный итератор, указывающий на начало строки.

➡️ @cpp_geek
👍1
Алгоритм shuffle

Переупорядочивает элементы в заданном диапазоне [first, last) таким образом, чтобы каждая возможная перестановка этих элементов имела равную вероятность появления.

➡️ @cpp_geek
👍1
Токенизация строки

Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.

Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL

➡️ @cpp_geek
👍3
Алгоритм fill

Присваивает всем элементам в диапазоне [first,last) заданное значение.

➡️ @cpp_geek
👍1
set::erase()

Функция erase() используется для удаления элементов из контейнера по указанной позиции или диапазону.

➡️ @cpp_geek
Алгоритм lexicographic_compare

Совершает лексикографическое сравнение 2 диапазонов

Лексикографическое сравнение - это операция со следующими свойствами:

1)Два диапазона сравниваются поэлементно.
2)Первый элемент несовпадения определяет, какой диапазон лексикографически меньше или больше другого.
3)Если один диапазон является префиксом другого, более короткий диапазон лексикографически меньше другого.
4)Если два диапазона имеют эквивалентные элементы и имеют одинаковую длину, тогда диапазоны лексикографически равны.
5)Пустой диапазон лексикографически меньше любого непустого диапазона.
6)Два пустых диапазона лексикографически равны.

➡️ @cpp_geek
👍3
Функция strrchr()

В C++ strrchr() - это предопределенная функция, используемая для обработки строк. Эта функция возвращает указатель на всю строку после последнего появления заданного символа. Символ, последнее вхождение которого мы хотим найти, передается в качестве второго аргумента функции, а строка, в которой мы должны найти этот символ, передается в качестве первого аргумента функции.

В примере кода на картинке мы используем функцию для того, чтобы найти порядковый номер символа в заданной строке.

➡️ @cpp_geek
👍3
Упорядочиваем 3 числа

С помощью функции swap переставляем 3 числа в порядке возрастания.

➡️ @cpp_geek
👍2