Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка для изучения основ С++ 5 строки

.doc
Скачиваний:
69
Добавлен:
20.05.2015
Размер:
52.74 Кб
Скачать

Строки

Строка – это ряд символов, хранящихся в последовательно расположенных байтах памяти. Рассмотрим С-стиль работы со строками. Из определения следует, что строку можно хранить в массиве символов (char). Однако последний символ строки С – стиля является нулевым символом. Он служит для обозначения конца строки и записывается как \0.

char dog[5] = { 'b', 'e', 'a', 'u', 'x' };

char cat[5] = { 'f', 'a', 't', 's', '\0' };

Здесь первая запись не является строкой, а вторая строка. Объект cout при выводе строки, обрабатывает ее посимвольно, до достижения нулевого символа. Если же мы будет обрабатывать как строку первый массив, то данный объект сначала выведет все символы массива, а дальше будет отображать байт за байтом памяти, пока не будет достигнут нулевой символ. Однако, есть более лучший способ присвоения строки символьному массиву. Он состоит в использовании строковой константы, т.е. строки в кавычках.

char bird[10] = "Mr. Cheep";

char fish[] = "Bubbles";

Любые две строковые константы, разделенные только пробельными символами (пробелами, знаками табуляции и символами новой строки) автоматически объединяются в одну.

cout <<"Такое объединение называется "

"конкатенацией строк.\n";

При вводе строки используя объект cin, ввод выполняется до первого пробельного символа. Для ввода строк состоящих из нескольких слов используются функции-элементы getlineи get.

cin.getline(name, ArSize);

cin.get(name, ArSize);

Эти функции считывают из входного потока ArSize-1 символов или менее и записывают их в строковую переменнуюname. Однако при достижении символа перевода строки, первая функция его удаляет, а вторая нет (это бывает полезно для определения была ли строка считана полностью). В конце введенной строки автоматически добавляется нулевой символ. Если введенная строка содержит больше указанного количества символов, то обе функции оставляют оставшиеся символы во входной очереди, однако первая из них устанавливает бит ошибки и прекращает дальнейший ввод. Для того чтобы узнать длину введенной строки можно воспользоваться стандартной функциейstrlen(), для чего необходимо включить заголовочный файл cstring.

Пример.

#include<iostream>

#include<clocale>

#include<cstring>

usingnamespace std;

int main()

{

setlocale(LC_ALL, "Russian");

constint ArSize = 20;

char name[ArSize];

char dessert[ArSize];

cout <<"ВведитеВашуфамилиюиимя:\n";

cin.getline(name, ArSize);

cout <<"ВведитеВашлюбимыйдесерт:\n";

cin.getline(dessert, ArSize);

cout <<"Размермассивасименемравен "<< strlen(name)+1<<"\n";

cout <<"У меня есть "<< dessert;

cout <<" для "<< name <<".\n";

return 0;

}

Задачи

  1. Вставить вместо пробелов точки.

  2. Удалить из текста все цифры.

  3. Сколько слов в тексте.

  4. Удалить из текста все буквы "о".

  5. Найти в тексте подстроку "авс".

  6. Сколько раз во втором слове встречается первая буква первого слова.

  7. Составить программу для подсчета числа букв А Б В в предложении.

  8. Вычислить сколько цифр в числе.

  9. Подсчитать количество цифр в произвольной строке

  10. Дан текст. Сколько в нём слов «что».

  11. Дан текст. Определить все слова оканчивающиеся на "ая".

  12. Ввести текст телеграммы и стоимость одного слова. Опред. стоимость телеграммы. При вводе текста запятые обозначаются словом ЗПТ, точки - словом Т.

  13. Ввести слово. Определить является ли данное слово перевертышем.

  14. Дана строка. Определить, есть ли в ней буква s.

  15. Дана символьная строка. Определить количество пробелов в данной строке.

  16. Дана символьная строка. Определить, есть ли в строке слово из трех букв.

  17. Дана символьная строка. Найти слова, начинающиеся и заканчивающиеся на одну и ту же букву.

  18. Дана символьная строка. Подсчитать в ней количество букв r,k,t.

  19. Дана символьная строка. Найти наибольшую последовательность букв а.

  20. Определить, сколько раз в строке встречается данное слово.

  21. Строка содержит английский текст. Подсчитать количество букв, начинающихся на букву b.