Зміст
Задачі з рядками
Приклад 1
Ввести з клавіатури рядок. Замінити у цьому рядку всі літери «а» на пробіли.
Програма
#include <iostream>
using namespace std;
#include <string>
using namespace std;
int main()
{
string str;
cout << "Введіть рядок: ";
getline(cin, str);
for (int i = 0; i<str.length(); i++)
{
if (str[i] == 'a') // латинська 'a'
{
str[i] = ' ';
}
}
cout << "Результат: " << str << endl;
return 0;
}
Результат роботи програми

Приклад 2
Ввести з клавіатури рядок та символ. Замінити у цьому рядку всі входження введеного символу на пробіли.
#include <iostream>
#include <string>
using namespace std;
string str;
char ch;
// Вводимо латинський символ (не кириличний!)
cout<< "Введіть символ (латинський): ";
cin>> ch;
cin.ignore();
cout << "Введіть рядок: ";
getline(cin, str);
cout << "Замінюємо " << ch << "' на пробіли..." << endl;
for (char &c : str)
{
if (c == ch)
c = ' ';
}
cout << "Результат: " << str << endl;
return 0;
}
Результат роботи програми

Приклад 3
Ввести з клавіатури рядок. Замінити до першої коми усі літери "а" на пробіли. Якщо ком немає, то вивести повідомлення.
Програма
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cout << "Рядок: ";
getline(cin, str);
// Знаходимо позицію першої коми
size_t p = str.find(',');
//Статична константа string::npos:-член класу std::string використовується: для індикації, що пошук не дав результатів
if (p != string::npos) // якщо кома знайдена
{
// Замінюємо всі 'а' на пробіли до першої коми
for (int i = 0; i < p; i++)
{
if (str[i] == 'a') // тільки літеру 'a'
{
str[i] = ' ';
}
}
// Виводимо змінений рядок
cout << str << endl;
}
else
{
cout << "нема ком" << endl;
}
return 0;
}
Результат роботи програми


Приклад 4
Ввести з клавіатури рядок. Замінити у ньому усі цифри на пробіли.
Програма
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string str;
getline(cin, str);
for (auto &c : str) // auto сам визначить тип
{
if (isdigit(c))
c = ' ';
}
cout << str;
return 0;
}
Результат роботи програми

Приклад 5
Ввести з клавіатури рядок. Видалити у ньому усі літери «а».
#include <iostream>
using namespace std;
#include <string>
int main()
{
string s1, s2;
int i, L;
getline(cin, s1);
L=s1.length();
for (int i=0; i<L; i++)
{
if (s1[i]!='a') {s2=s2+s1[i];}
}
cout << s2;
return 0;
}
Програма (2-й варіант). Видаляємо за допомогою функцій:
#include <iostream>
using namespace std;
#include <string>
int main()
{
string str;
int i, L, p;
getline(cin, str);
p=str.find("a");
while (p!=-1)
{
str.erase(p, 1);
p=str.find("a");
}
cout << str;
return 0;
}
Результат роботи програми

Приклад 6
Ввести з клавіатури рядок. Видалити у ньому усі цифри.
Програма. Створюємо новий рядок:
#include <iostream>
using namespace std;
#include <string>
int main()
{
string s1, s2="";
int i, L;
getline(cin, s1);
L=s1.length();
for (int i=0; i<L; i++)
{
if (!isdigit(s1[i])) {s2=s2+s1[i];}
}
cout << s2;
return 0;
}
Результат роботи програми

Приклад 7
Ввести з клавіатури рядок. Вставити пробіл перед кожною літерою “а”
Програма
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1, s2 = "";
getline(cin, s1);
for (int i = 0; i < s1.length(); i++)
{
if (s1[i] == 'a') {
s2 = s2 + ' '; // Додаємо пробіл перед 'а'
}
s2 = s2 + s1[i];
}
cout << s2;
return 0;
}
Результат роботи програми

Варіанти завдань
Варіант 1
- Ввести з клавіатури рядок str і два символи symv1 та symv2. Замінити всі символи symv1 на symv2.
- Ввести з клавіатури рядок str. Видалити в цьому рядку всі пробіли, починаючи з початку рядка до першої точки. Якщо точок у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. Після кожного символу цього рядка вставити пробіл.
Варіант 2
- Ввести з клавіатури три рядки: str, str1 та str2. Замінити у рядку str усі входження str1 на str2.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі літери.
- Ввести з клавіатури рядок str. Вставити «0» у рядок str після кожного пробілу у першій половині рядка.
Варіант 3
- Ввести з клавіатури рядок. Замінити у цьому рядку всі пробіли на «*» від початку рядка до останньої точки. Якщо точок у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок. Видалити з неї всі входження першого символу.
- Ввести з клавіатури рядок str. Подвоїти кожен символ цього рядка.
Варіант 4
- Ввести з клавіатури рядок. Замінити у цьому рядку всі входження «ох» на «ха» від першого пробілу до кінця рядка. Якщо пробілів у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі літери та цифри.
- Ввести з клавіатури рядок str і символ symv. Вставити пробіл перед кожним входженням символу symv.
Варіант 5
- Ввести з клавіатури рядок str і символ symv. Замінити у всьому рядку всі літери на symv.
- Ввести з клавіатури рядок. Видалити з нього всі зайві пробіли, залишивши по одному пробілу замість кількох.
- Ввести з клавіатури рядок str. Вставити пробіл у рядок str перед та після кожного мінуса у другій половині цього рядка.
Варіант 6
- Ввести з клавіатури рядок str і символ symv. Замінити у всьому рядку всі літери та цифри на symv.
- Ввести з клавіатури рядок str. Видалити в цьому рядку всі входження підрядку "ох" починаючи від останнього пробілу і до кінця рядку. Якщо пробілів у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str і два символи symv1 та symv2. Вставити символ symv2 перед кожним входженням символу symv1.
Варіант 7
- Ввести з клавіатури рядок str і три символи symv1, symv2 та symv3. Замінити у рядку str усі символи symv1 на symv2 від початку рядка до останнього входження symv3. Якщо символів symv3 у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. Видалити з першої половини цього рядка всі входження першого символу.
- Ввести з клавіатури рядок str. Перед кожною літерою цього рядка вставте підкреслення.
Варіант 8
- Ввести з клавіатури рядок str і символ symv. Замінити у всьому рядку всі маленькі літери на symv.
- Ввести з клавіатури рядок str. Видалити з другої половини цього рядка всі зайві пробіли, залишивши по одному пробілу замість кількох.
- Ввести з клавіатури рядок str. Вставити "!" у рядок str перед кожним пробілом від початку рядка до останньої точки. Якщо точок у рядку немає, вивести повідомлення.
Варіант 9
- Ввести з клавіатури три рядки: str, str1, str2 та символ symv. Замінити в рядку str усі входження рядка str1 на str2 від першого входження symv до кінця рядка. Якщо символів symv у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі розділові знаки.
- Ввести з клавіатури рядок str. Вставити "!!!" у рядок str після кожного "ох" від першого пробілу до кінця рядку. Якщо пробілів у рядку немає, вивести повідомлення.
Варіант 10
- Ввести з клавіатури три рядки: str, str1 та str2. Замінити в рядку str всі входження str1 на str2 від початку рядка до останньої точки. Якщо точок у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі великі літери.
- Ввести з клавіатури рядок str і символ symv. Після кожної маленької літери в цьому рядку вставити symv.
Варіант 11
- Ввести з клавіатури рядок str. Замінити у всьому рядку всі маленькі літери на відповідні великі.
- Ввести з клавіатури рядок str і символ symv. Видалити в цьому рядку цей символ, від початку рядка до останньої точки. Якщо точок у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str і символ symv. Після кожного розділового знака в цьому рядку вставити symv.
Варіант 12
- Ввести з клавіатури рядок str. Замінити у всьому рядку всі великі літери на відповідні малі.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі англійські літери.
- Ввести з клавіатури рядок str і три символи symv1, symv2 та symv3. Вставити symv2 у рядок str перед кожним символом symv1 від початку рядка до останнього входження symv3. Якщо символів symv3 у рядку немає, вивести повідомлення.
Варіант 13
- Ввести з клавіатури рядок str і два символи symv1 та symv2. Замінити в рядку str всі входження symv1 на symv2, починаючи від першої точки до останньої точки. Якщо точок у рядку менше двох, то вивести повідомлення.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі маленькі англійські літери.
- Ввести з клавіатури рядок str. У першій половині цього рядка перед кожною великою літерою вставте відповідну маленьку літеру.
Варіант 14
- Ввести з клавіатури рядок str і символ symv. Замінити у цьому рядку всі великі літери на symv від початку рядка до останнього пробілу. Якщо пробілів у рядку немає, вивести повідомлення.
- Ввести з клавіатури два рядки: str1 та str2. Видалити в рядку str1 всі входження рядка str2, починаючи від першого пробілу до кінця рядка. Якщо пробілів у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str і символ symv. Перед кожною великою англійською літерою в цьому рядку вставте symv.
Варіант 15
- Ввести з клавіатури рядок str і символ symv. Замінити у всьому рядку всі англійські літери на symv.
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі великі літери, починаючи від останньої точки до кінця рядка. Якщо точок у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str і три символи symv1, symv2 та symv3. Вставити symv2 у рядок str після кожного символу symv1 від першого входження symv3 до кінця рядка. Якщо символів symv3 у рядку немає, вивести повідомлення.
Варіант 16
- Ввести з клавіатури рядок str. Замінити у цьому рядку всі великі літери на маленькі від першого пробілу до кінця рядка. Якщо пробілів у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str і два символи symv1 та symv2. Видалити у рядку str усі символи symv1 від початку рядка до останнього входження symv2. Якщо символів symv2 у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. У першій половині цього рядка проредіть всі символи пробілами, а в другій половині після кожної літери вставити кому.
Варіант 17
- Ввести з клавіатури рядок, що є пропозицією українською мовою. Перекласти цю пропозицію з української на тарабарську (глуху приголосну замініть на дзвінку та навпаки).
- Ввести з клавіатури рядок str. Видалити у цьому рядку всі маленькі літери, від початку рядка до першого пробілу. Якщо пробілів у рядку немає, вивести повідомлення.
- Ввести з клавіатури рядок str. У першій половині цього рядка подвоїти всі літери, а в другій половині після кожної маленької літери вставити відповідну велику літеру.
Зміст