Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Подсчитать количество цифр в произвольной строкеСтроки
Строка – это ряд символов, хранящихся в последовательно расположенных байтах памяти. Рассмотрим С-стиль работы со строками. Из определения следует, что строку можно хранить в массиве символов (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. Вычислить сколько цифр в числе. Подсчитать количество цифр в произвольной строке
Дата добавления: 2014-09-08; просмотров: 498; Нарушение авторских прав Мы поможем в написании ваших работ! |