Создание строковых литералов - PullRequest
1 голос
/ 08 октября 2019

У меня есть строковый массив. Я хочу взять n-ное слово в этом массиве и напечатать вывод:

Ввод: government Ввод: g8t

В основном: first letter + total number of letters-2 + last letter

Вывод также сохраняется в строковом массиве. Вот основной код, который я попробовал:

out[j]=in[j].at(0) + (n-2) + in[j].at(n-1);
//n is the length of word , used str.length() for that

Что здесь не так?

1 Ответ

0 голосов
/ 08 октября 2019

Наблюдайте за этим пунктом to_string !!!

Небольшое испытание:

#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main() {

vector<string> words;
string input;
int count = 0;
cout << "Enter 5 words :";

while (cin >> input) 
{
    words.push_back(input);
    if (++count > 4)
        break;
}

for (int i = 0; i < words.size(); i++) {
    string str;
    int size = words.at(i).length();
    str = words.at(i).at(0) + to_string(size) + words.at(i).at(size - 1);
    cout << str + "\n";
}

cin>> input;
return 0;
}
...