Задачи по C++. Строки и их типы в C++.

Задачи по C++

В чем заключается вопрос:  Разобраться как работать со строками с C++.

Сложность : легкая .

Строки в с++ позволяют нам работать с символьными данными. Благодаря ним мы можем читать с клавиатуры текст, как-то его обрабатывать и затем, например, снова его выводить в консоль.

В С++ существует 2 типа строк.

Первый из них — это массив переменных типа char.

Если кто не помнит, то переменная типа char хранит в себе 1 символ. Размер такой строки равняется размеру массива — 1, т.к. последний элемент содержит NULL (пустая переменная без значения), который обозначает символ конца строки.

Пример :

char str[50];

cin >> str ;

cout << str << endl;

Ну то есть тут мы объявили строку с названием str, а её максимальная длинна 50 символов.

Второй из вариантов, более удобный — это специальный класс string

Для его работы необходимо в начале программы подключить заголовочный файл string:

#include <string>

Для создания строки вам необходимо в начале программы написать using namespace std;

Пример :

#include <iostream>
#include <string>

using namespace std;

int main() {

  string str;
  cin >> str ;

  cout << str << endl;
}

Примерно тоже самое, но у 2 способа есть свои плюсы, не надо вводить размер и есть функции для работы :

Список функций :

string s ;
string str;

1)s.append(str) - добавляет в конец строки строку str. Можно писать как s.append(переменная),так и s.append("строка");

2)s.assign(str) - присваивает строке s значение строки str. Аналогично записи s=str;

3)int i=s.begin() - записывает в i индекс первого элемента строки

4)int i=s.end() - аналогично, но последнего

5)s.clear() - как следует из названия, очищает строку. Т.е. удаляет все элементы в ней

6)s.compare(str) -сравнивает строку s со строкой str и возвращает 0 в случае совпадение (на самом деле сравнивает коды символов и возвращает из разность)

7)s.copy(куда, сколько, начиная с какого) - копирует из строки s в куда (там может быть как строка типа string, так и строка типа char). Последние 2 параметра не обязательные (можно использовать функцию с 1,2 или 3 параметрами)

8)bool b=s.empty() - если строка пуста, возвращает true, иначе false

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

10)s.find(str,позиция) - ищет строку str начиная с заданной позиции

11)s.insert(позиция,str, начиная, beg, count) - вставляет в строку s начиная с заданной позиции часть строки str начиная с позиции beg и вставляя count символов

12)int len=s.length() - записывает в len длину строки

13)s.push_back(symbol) - добавляет в конец строки символ

14)s.replace(index, n,str) - берет n первых символов из str и заменяет символы строки s на них,  начиная с позиции index

15)str=s.substr(n,m) - возвращает m символов начиная с позиции n

16)s.swap(str) меняет содержимое s и str местами.

17)s.size() - возвращает число элементов в строке.

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

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий