Що таке рядок у 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). Основні операції з рядками індивідуальні уроки з програмування С++