Що таке рядок у C++? Основні операції з рядками.

Прокрутити вниз

Основні операції з рядками індивідуальні уроки з програмування С++

1. Що таке рядок у C++?

📌 Рядок (string) — це послідовність символів, яка використовується для зберігання тексту.

🔹 У C++ існує два способи роботи з рядками:

  1. Масив символів (char[]) — застарілий підхід.
  2. Клас 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). Основні операції з рядками індивідуальні уроки з програмування С++

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert