Питання по string в мові с++ продублювати кожну букву призвіща (вводиться з клавіатури ) потрібно зробити задачу 2 способами Використовуючи функції бібліотеки і розглядаючи рядок як масив

Ответы

Ответ дал: sereganesgiva
1

Ответ:

Задача полягає у подвоєнні кожної букви в рядку. Ось два способи розв'язання цієї задачі в С++:

1. Використовуючи функції бібліотеки:

#include <iostream>

#include <string>

using namespace std;

int main()

{

   string surname;

   cout << "Enter your surname: ";

   cin >> surname;

   string duplicated_surname = "";

   for (char c : surname) {

       duplicated_surname += c;

       duplicated_surname += c;

   }

   cout << "Duplicated surname: " << duplicated_surname << endl;

   return 0;

}

У цьому варіанті ми використовуємо функцію std::string::operator+=, яка додає символ до кінця рядка.

2. Розглядаючи рядок як масив:

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

   char surname[100];

   cout << "Enter your surname: ";

   cin >> surname;

   int n = strlen(surname);

   char duplicated_surname[200];

   int j = 0;

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

       duplicated_surname[j++] = surname[i];

       duplicated_surname[j++] = surname[i];

   }

   duplicated_surname[j] = '\0';

   cout << "Duplicated surname: " << duplicated_surname << endl;

   return 0;

}

У цьому варіанті ми використовуємо функцію std::strlen, яка повертає довжину рядка. Для створення нового рядка з подвоєними буквами ми проходимо по кожній букві в оригінальному рядку і додаємо її двічі до нового рядка, використовуючи змінну j для відстеження поточної позиції в новому рядку. В кінці ми додаємо нуль-термінатор до нового рядка, щоб він став коректним рядком у стилі C.

Объяснение:

Вас заинтересует