Консультация № 143587
10.09.2008, 17:03
0.00 руб.
0 1 1
Уважаемые эксперты!
Обращаюсь к вам за помощью в решении задачи на С++
Содержание задачи:
Вводится два числа: N1 и N2, и две строки: S1 и S2. Получить из этих строк новую строку, объединив N1 первых символов строки S1 и N2 последних символов строки S2.
Помогите эксперты
Заранее спасибо!!!

Обсуждение

Неизвестный
11.09.2008, 03:29
общий
это ответ
Здравствуйте, Смирнов Сергей Витальевич!
Для этого можно воспользоваться строками из STL. Для решения данной задачи необходимо использовать функцию substr. Она возвращает подстроку необходимой длины с указанной позиции. Подробнее смотрите в коде:
Код:
 #include <string>
#include <iostream>
#include <limits>

using namespace std;

int main(int argc, char* argv[]) {

int n1;
int n2;

cout << "Input n1: ";
cin >> n1;

cout << "Input n2: ";
cin >> n2;

cin.ignore(numeric_limits<streamsize>::max(), '\n');

const int buffer_size = 80;
char buffer[buffer_size];

cout << endl << "Input s1: ";
cin.getline(buffer, buffer_size);

string s1 = buffer;

cout << endl << "Input s2: ";
cin.getline(buffer, buffer_size);

string s2 = buffer;

cout << "n1 left symbols of s1 and n2 right symbols of s2:" << endl;
cout << s1.substr(0, n1) << s2.substr(s2.length() - n2, n2) << endl;

return 0;
}
Форма ответа