Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример 6.






intlen;

cout< < " Введитестроку" < < endl;

char str1[8], *str2;

gets(str1);

len=strlen(str1); // определение длины строки

str2=newchar[len+1]; //динамическое выделение памяти под строку str2

strcpy(str2, str1);

cout< < " Строка 1: " < < str1< < endl;

cout< < " Строка 2: " < < str2< < endl;

delete []str2; // удаление строк из памяти

 

 

Ниже перечислены некоторые функции для работы со строками из библиотеки string.h:

Strncat (r1, r2, n) – к переменной r1 добавляет первых n символов строки r2

Strcpy (r1, r2) – копирует символи из строки r2 в строку r1

Strncpy (r1, r2, n) – копирует первых n символов строки r2 в строку r1

Strchr (r1, < символ>) – определяет первое вхождение данного символа в строку r1.

Strrchr (r1, < символ>) – определяет последнее место заданного символа в строке

Strspn (r1, r2) – определяет номер первого символа, который входит в строку r1, но не входит в строку r2.

Strstr (r1, r2) – определяет в строке r1 подстроку, которая начинается с первого вхождения строки r2 в сроку r1.

Strtok (r1, r2) – определяет часть строки r1, которая заканчивается перед первым одинаковым символом в строках r1 и r2

Strnset (r1, < символ>, n) – вставляет n раз заданный символ перед строкой r1

Strupr (r1) – превращает все маленькие буквы в Большие

Strlwr (r1) – превращает все большие буквы в маленькие

Strrev (r1) – записывает строку в обратном порядке

Strcmp (r1, r2) – сравнивает строки символов r1 и r2, с учетом регистра для латинских букв

Stricmp (r1, r2) – сравнивает строки r1 и r2, не различая регистра букв.

 

 

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

#include < iostream.h>

int _tmain(intargc, _TCHAR* argv[])

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

char s1[2][20];

cout< < " Введитестихотворение" < < endl;

for (int i = 0; i< 2; i++) {

gets(s1[i]);

cout< < endl;

}

cout< < " Введитебукву: ";

charbukva;

cin> > bukva;

 

intkol;

int l;

for (int i = 0; i< 2; i++)

{

kol=0;

l=strlen(s1[i]);

for (int j = 0; j< l; j++){

if (s1[i][j]==bukva) kol++;

}

cout< < " Количество букв " < < bukva< < " в строке " < < i+1< < ": " < < kol< < endl;

}

system(" pause");

return 0;

}

 

 

Пример 8. Написать функцию, для создания копии строки.

#include < iostream.h>

char* cop(char *s11)

{

char* s22=new char[strlen(s11)+1];

for (int i = 0; i < strlen(s11); i++) {

s22[i]=s11[i];

}

return s22;

}

int _tmain(intargc, _TCHAR* argv[])

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

char *s1;

cout< < " Введитестроку" < < endl;

s1=new char[20];

gets(s1);

cout< < " Копиястроки: " < < cop(s1);

system(" pause");

return 0;

}

 

Решить самостоятельно:

1. Заменить в заданной строке все буквы Ch1 на Ch2 (их значения вводить с клавиатуры).

2. В заданной строке удвоить каждое вхождение буквы Ch.

3. Дана последовательность слов. Напечатать все слова, отличные от слова «hello”.

4. В заданной строке после каждой буквы Ch вставить строку Str1.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.