Презентация на тему: Обработка строк В C++

Реклама. Продолжение ниже
Обработка строк В C++
План
Литература
Строковый тип данных
Примеры описания строк
Строковые константы
Типизированная константа
Пустая строка
Обращение к символу в строке
Присваивание значений
Конкатенация строк
Сравнение строк
Сравнение строк
Сравнение строк
Коррекция символов строки
Коррекция символов строки
Функции
Обработка строк В C++
Функция insert
Функция find
Функция _ Copy_s
Функция Erase
Преобразование типов
Пример 1
Пример 2
Пример 3
Спасибо за внимание!
1/27
Средняя оценка: 4.1/5 (всего оценок: 64)
Код скопирован в буфер обмена
Скачать (2055 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Обработка строк В C++

Лягинова О.Ю., канд.пед.наук, доцент

Изображение слайда
Изображение для работы со слайдом
1/2
2

Слайд 2: План

Строки в языке программирования С++ Операции над строками Функции работы со строками Литература

Изображение слайда
1/1
3

Слайд 3: Литература

План C/C++. Программирование на языке высокого уровня / Т. А. Павловская. — СПб.: Питер, 2003. — 461с: ил. Строки в C++ [ электронный ресурс ]. URL // https://docs.microsoft.com/ru-ru/cpp/standard-library/basic-string-class?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DRU-RU%26k%3Dk(XSTRING%2Fstd%3A%3Abasic_string%3A%3Ainsert)%3Bk(std%3A%3Abasic_string%3A%3Ainsert)%3Bk(insert)%3Bk(DevLang-C%2B%2B)%3Bk(TargetOS-Windows)%26rd%3Dtrue

Изображение слайда
1/1
4

Слайд 4: Строковый тип данных

Строкой называется последовательность символов. Для работы со строками используется тип string. Для использования этого типа его необходимо подключить в код с помощью директивы # include <string> Количество символов в строке определяет ее длину. Номера позиций символов строки начинается с 0.

Изображение слайда
1/1
5

Слайд 5: Примеры описания строк

#include " stdafx.h " #include <iostream> #include <string> using namespace std ; int main() { string s1 = "Hello, "; string s2 = "my friend!"; cout << s1 + s2 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
6

Слайд 6: Строковые константы

Строковые константы записываются как последовательности символов, ограниченные кавычками. Допускается формирование строк с использованием записи символов по десятичному коду (в виде ( char ) и кода символа). Например: " C++ " (char) 9 // TAB (char)32 //пробел

Изображение слайда
1/1
7

Слайд 7: Типизированная константа

Объявление константы для типа string осуществляется следующим образом: const string S= " C++ " ;

Изображение слайда
1/1
Реклама. Продолжение ниже
8

Слайд 8: Пустая строка

Существует понятие пустой строки, т.е. строки, которая не содержит символов. Если при определении переменной типа string мы не присваиваем ей никакого значения, то по умолчанию данная переменная содержит пустую строку. Пустая строка также обозначается двумя рядом стоящими кавычками, например, S= "" ;

Изображение слайда
1/1
9

Слайд 9: Обращение к символу в строке

К отдельным символам строки можно обратиться по номеру (индексу) данного символа в строке. Например, для обращения к пятому символу строки s следует записать s[4]. План #include " stdafx.h " #include <iostream> #include <string> using namespace std ; int main() { string s = "Hell o, my friends!"; cout << s[4] << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
10

Слайд 10: Присваивание значений

Значения строк можно присваивать друг другу. #include " stdafx.h " #include <iostream> #include <string> using namespace std ; int main() { string s1 = "Hello, my friends!"; string s2; s2 = s1; cout << s2 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
11

Слайд 11: Конкатенация строк

Строки можно сцеплять с помощью операции конкатенации, которая обозначается знаком +. #include " stdafx.h " #include <iostream> #include <string> using namespace std ; int main() { string s1 = "C++ - "; string s2 = "programming language"; string s3; s3 = s1 + s2 ; cout << s3 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
12

Слайд 12: Сравнение строк

Строки можно сравнивать друг с другом с помощью операций отношения (==, !=, <, >, <=, >= ). При сравнении строки рассматриваются посимвольно слева направо, при этом сравниваются коды соответствующих пар символов. Оператор == возвращает true, если все символы обеих строк равны. При этом символы должны совпадать в том числе по регистру. Операция != возвращает true, если две строки не совпадают.

Изображение слайда
1/1
13

Слайд 13: Сравнение строк

Остальные базовые операции сравнения (<, <=, >, >=) сравнивают строки в зависимости от кода символа. Например, строка "b" условно больше строки "a", так как символ b по алфавиту идет после символа a. А строка "a" больше строки "A". Если первые символы строки равны, то сравниваются последующие символы.

Изображение слайда
1/1
14

Слайд 14: Сравнение строк

#include " stdafx.h " #include <iostream> #include <string> using namespace std ; bool b1, b2, b3; int main() {b1 = " abc " == " abc " ; cout << b1 << endl ; b2 = "one" < "one s " ; cout << b2 << endl ; b3 = " ab c " > " ab b c " ; cout << b3 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
Реклама. Продолжение ниже
15

Слайд 15: Коррекция символов строки

Можно осуществлять коррекцию любого символа строковой переменной, для чего в соответствующем операторе достаточно указать имя переменной типа string, вслед за которым в квадратных скобках задается номер корректируемого символа. Нумерация символов начинается с 0.

Изображение слайда
1/1
16

Слайд 16: Коррекция символов строки

План #include " stdafx.h " #include <iostream> #include <string> using namespace std ; int main() { string s = "bet"; s[0] = 'p'; cout << s << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
17

Слайд 17: Функции

Возвращает текущее количество элементов в строке. length max_size Возвращает максимальное количество символов в строке. clear Удаляет все элементы строки. append Добавляет символы в конец строки. assign Назначает значения новых символов содержимому строки.

Изображение слайда
1/1
18

Слайд 18

int main() { string str1("Hello world"); //11 символов cout << "The current length of string str1 is: " << str1.length() << endl ; cout << "The max_size of string str1 is: " << str1.max_size() << endl << endl ; cout << "The new string is: " << str1.append("!") << endl ; cout << "The new string is: " << str1.assign("The mother cleans frame") << endl ; str1.clear(); cout << "The current length of string str1 is: " << str1.length() << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
19

Слайд 19: Функция insert

Вставляет подстроку в указанное положение в строке. int main() { string str1("Hello world"); cout << "The new string str1 is: " << str1.insert(6, "my !", 3) << endl ; return 0; } Где: 6 – позиция в строке, начиная с которой выполняется вставка подстроки; "my !" – вставляемая подстрока; 3 – количество символов подстроки, вставляемых в строку.

Изображение слайда
Изображение для работы со слайдом
1/2
20

Слайд 20: Функция find

Ищет первую позицию вхождения подстроки в строку. Если вхождение не найдено, возвращается значение string:: npos int main() { string str1("Hell o w o rld!"); cout << str1.find(" world ") << endl ; /*возвращает первую позицию вхождения подстроки */ cout << str1.find("o") << endl ; /*возвращает первое вхождение символа */ cout << str1.find("o",6) << endl ; /*возвращает первое вхождение символа, начиная с 6 позиции в строке*/ return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
21

Слайд 21: Функция Copy s

Копирует не более указанного количества символов из индексированного положения в исходной строке в массив символов назначения (аргументы: массив, в который осуществляется копирование; размер массива; количество копируемых символов; позиция начала копирования). int main() {string str1("Hello World ! "); char array1[20] = {0}; char array2[10] = {0}; str1._Copy_s(array1, 20, 1 1 ); cout << "The copied characters array1 is: " << array1 << endl ; str1._Copy_s(array2, 10, 5, 6); cout << "The copied characters array2 is: " << array2 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
22

Слайд 22: Функция Erase

Удаляет символ или диапазон символов с указанного положения в строке (аргументы: индекс первого удаляемого символа, количество удаляемых символов). int main() { string str1("The mother cleans frame."); str1.erase(17, 6); cout << str1 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
23

Слайд 23: Преобразование типов

int main() { string st = "123"; int a = stoi ( st ); //преобразование строки в целое число cout << a << '\n'; int b = 278; st = to_string (b); //преобразование числа в строку cout << st << '\n'; return 0; } http://www.cplusplus.com/reference/string/

Изображение слайда
1/1
24

Слайд 24: Пример 1

Необходимо найти количество гласных букв в строке (учитывать и прописные, и строчные буквы). int main() { string str1("Hello WOrld !"); string str2(" AEOUIYaeouiy "); int count = 0; for ( int i = 0; i < str1.length(); i ++) if (str2.find(str1[ i ]) != string:: npos ) count++; cout << count << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
25

Слайд 25: Пример 2

Необходимо выписать все гласные буквы из данной строки, сохранив их последовательность (учитывать и прописные, и строчные буквы). int main() { string str1("Hello WOrld !"), str3; string str2(" BDGJNMRVZWCFHKLQPST X bdgjnmrvzwcfhklqpstx "); for ( int i = 0; i < str1.length(); i ++) if (str2.find(str1[ i ]) != string:: npos ) str3 += str1[ i ]; cout << str3 << endl ; return 0; }

Изображение слайда
Изображение для работы со слайдом
1/2
26

Слайд 26: Пример 3

int main() { string str1("The mother cleans frame."), str2(",.!?;:"), str3; char * char_ar ; int n_begin =0; //позиция начала слова int n_end =0; //позиция конца слова for ( int i = 0; i < str1.length(); i ++) if (str2.find(str1[ i ]) != string:: npos ) { n_end = i - 1; char_ar = new char[ n_end - n_begin + 2] {0}; str1._Copy_s( char_ar, n_end - n_begin + 2, n_end - n_begin + 1, n_begin); str3 = str3 + char_ar + ","; delete[] char_ar ; n_begin = i + 1; } str3.erase(str3.length() - 1, 1); //удаление последней запятой cout << str3 << endl ; return 0; } Необходимо написать программу обработки строки, выводящую через запятую все слова строки. План

Изображение слайда
Изображение для работы со слайдом
1/2
27

Последний слайд презентации: Обработка строк В C++: Спасибо за внимание!

Выход

Изображение слайда
Изображение для работы со слайдом
1/2
Реклама. Продолжение ниже