
Що таке рядок у C++? Основні операції з рядками.
Основні операції з рядками індивідуальні уроки з програмування С++
1. Що таке рядок у C++?
📌 Рядок (string) — це послідовність символів, яка використовується для зберігання тексту.
🔹 У C++ існує два способи роботи з рядками:
- Масив символів (
char[]
) — застарілий підхід. - Клас
string
(з бібліотеки<string>
) — сучасний і зручний метод.
Приклад рядка в C++
#include <iostream>
#include <string> // Підключаємо бібліотеку для роботи з рядками
using namespace std;
int main() {
string name = "Анна";
cout << "Мене звати " << name << "!" << endl;
return 0;
}
✅ Результат:
Мене звати Анна!
📌 Ключові моменти:
- Ми оголосили змінну
name
типуstring
. - Вивели рядок через
cout
.
2. Основні операції з рядками
📌 Введення рядка (cin
та getline
)
Якщо використовуємо cin
, програма читає лише перше слово:
#include <iostream>
#include <string>
using namespace std;
int main() {
string name;
cout << "Введіть своє ім'я: ";
cin >> name; // Читає тільки одне слово
cout << "Привіт, " << name << "!" << endl;
return 0;
}
✅ Введення: Анна Марченко
✅ Вивід: Привіт, Анна!
(лише перше слово!)
Якщо треба зчитати весь рядок, використовуємо getline()
:
#include <iostream>
#include <string>
using namespace std;
int main() {
string fullName;
cout << "Введіть своє повне ім'я: ";
getline(cin, fullName); // Зчитує весь рядок
cout << "Ваше ім'я: " << fullName << endl;
return 0;
}
✅ Введення: Анна Марченко
✅ Вивід: Ваше ім'я: Анна Марченко
📌 Конкатенація (об’єднання рядків, +
)
string firstName = "Анна";
string lastName = "Марченко";
string fullName = firstName + " " + lastName;
cout << "Повне ім'я: " << fullName << endl;
✅ Результат:
Повне ім'я: Анна Марченко
📌 Довжина рядка (length()
, size()
)
string text = "Програмування";
cout << "Довжина рядка: " << text.length() << endl;
✅ Результат:
Довжина рядка: 13
📌 length()
і size()
роблять одне й те саме.
📌 Доступ до символів ([]
)
string word = "C++";
cout << "Перший символ: " << word[0] << endl;
cout << "Другий символ: " << word[1] << endl;
✅ Результат:
Перший символ: C
Другий символ: +
📌 Зміна символів у рядку
string word = "Hello";
word[0] = 'J';
cout << "Новий рядок: " << word << endl;
✅ Результат:
Новий рядок: Jello
📌 Символи в string
можна змінювати, як у масиві.
📌 Порівняння рядків (==
, !=
, <
, >
)
string a = "apple";
string b = "banana";
if (a < b) {
cout << a << " йде перед " << b << " у словнику." << endl;
}
✅ Результат:
apple йде перед banana у словнику.
📌 Порівняння відбувається лексикографічно (як у словнику).
📌 Пошук у рядку (find()
)
string text = "Я вивчаю C++";
size_t pos = text.find("C++");
if (pos != string::npos) {
cout << "Знайдено 'C++' на позиції: " << pos << endl;
}
✅ Результат:
Знайдено 'C++' на позиції: 10
📌 find()
повертає позицію першого входження або string::npos
, якщо не знайдено.
📌 Витягнення частини рядка (substr()
)
string text = "Програмування";
string part = text.substr(0, 5); // Витягуємо 5 символів з початку
cout << "Частина рядка: " << part << endl;
✅ Результат:
Частина рядка: Прогр
3. Практичні завдання
Завдання 1:
Напиши програму, яка просить користувача ввести ім’я та виводить "Привіт, Ім'я!"
.
Завдання 2:
Створи програму, яка приймає рядок і рахує кількість символів у ньому.
Завдання 3:
Напиши програму, яка запитує у користувача два слова і з’єднує їх в одне речення.
📝 Підсумок уроку
✅ Рядки у C++ можна створювати за допомогою string
.
✅ cin
читає тільки перше слово, getline()
— весь рядок.
✅ Можна об’єднувати (+
), порівнювати (==
, <
), змінювати ([]
).
✅ Використовуємо length()
, find()
, substr()
для роботи з рядками.
🚀 Наступний урок: Введення у структурне програмування (struct
). Основні операції з рядками індивідуальні уроки з програмування С++