Напишите программу, которая принимает строку, содержа-
щую фамилию, имя и отчество человека (каждая пара слов
разделена одним пробелом). Нужно построить новую строку,
в которой записаны инициалы (первые буквы имени и отче-
ства с точками после них) и через пробел – фамилия.
Другие языки программирования и технологии
Буду благодарен, если напишите решение на c++
По теме C++ я не помощник, но задание про инициалы не так давно делал в Ruby
# encoding: utf-8
dot = '. '
puts 'name'
name = gets.to_s
puts 'subname'
subname = gets.to_s
one = name[0...1].upcase!.concat(dot)
two = subname[0...1].upcase!.concat(dot)
print(one)
print(two)
# encoding: utf-8
dot = '. '
puts 'name'
name = gets.to_s
puts 'subname'
subname = gets.to_s
one = name[0...1].upcase!.concat(dot)
two = subname[0...1].upcase!.concat(dot)
print(one)
print(two)
#include <Windows.h>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
class Surname {
public:
static string initials_front(const string& surnsme) {
auto box = _split_and_modify(surnsme);
string result;
if (box.size() == 1) result = box.at(0);
if (box.size() == 2) result = box.at(1) + " "s + box.at(0);
if (box.size() == 3) result = box.at(1) + " "s + box.at(2) + " "s + box.at(0);
return result;
}
static string initials_end(const string& surnsme) {
auto box = _split_and_modify(surnsme);
string result;
if (box.size() == 1) result = box.at(0);
if (box.size() == 2) result = box.at(0) + " "s + box.at(1);
if (box.size() == 3) result = box.at(0) + " "s + box.at(1) + " "s + box.at(2);
return result;
}
private:
static vector<string> _split_and_modify(const string& surnsme) {
vector<string> box;
istringstream iss(surnsme);
string token;
while (iss >> token) box.emplace_back(token);
if (box.size() > 1) box.at(1) = box.at(1).front() + "."s;
if (box.size() > 2) box.at(2) = box.at(1).front() + "."s;
return box;
}
};
int main() {
SetConsoleTitleW(L"Конвертер");
system("chcp 1251 > nul");
cout << "Фамилия Имя Отчкство: ";
string name;
getline(cin, name);
auto nf = Surname::initials_front(name);
auto ne = Surname::initials_end(name);
cout << nf << '\n' << ne << '\n';
system("pause");
}
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
class Surname {
public:
static string initials_front(const string& surnsme) {
auto box = _split_and_modify(surnsme);
string result;
if (box.size() == 1) result = box.at(0);
if (box.size() == 2) result = box.at(1) + " "s + box.at(0);
if (box.size() == 3) result = box.at(1) + " "s + box.at(2) + " "s + box.at(0);
return result;
}
static string initials_end(const string& surnsme) {
auto box = _split_and_modify(surnsme);
string result;
if (box.size() == 1) result = box.at(0);
if (box.size() == 2) result = box.at(0) + " "s + box.at(1);
if (box.size() == 3) result = box.at(0) + " "s + box.at(1) + " "s + box.at(2);
return result;
}
private:
static vector<string> _split_and_modify(const string& surnsme) {
vector<string> box;
istringstream iss(surnsme);
string token;
while (iss >> token) box.emplace_back(token);
if (box.size() > 1) box.at(1) = box.at(1).front() + "."s;
if (box.size() > 2) box.at(2) = box.at(1).front() + "."s;
return box;
}
};
int main() {
SetConsoleTitleW(L"Конвертер");
system("chcp 1251 > nul");
cout << "Фамилия Имя Отчкство: ";
string name;
getline(cin, name);
auto nf = Surname::initials_front(name);
auto ne = Surname::initials_end(name);
cout << nf << '\n' << ne << '\n';
system("pause");
}
*** _ Elnur Muxt@rov _***
Отчкство ))
Примерно так
stringstream temp(inputstr);
string F,I,O;
temp>>F>>I>>O;
string outstr=I[0]+"."+O[0]+". "+F;
https://ideone.com/rjYRRO
stringstream temp(inputstr);
string F,I,O;
temp>>F>>I>>O;
string outstr=I[0]+"."+O[0]+". "+F;
https://ideone.com/rjYRRO
напишу, если поможешь мне отфотошопить кое что.... плиииз
Похожие вопросы
- c++ напишите решение задачи, пожалуйста (код)
- Помогите написать программу на C/C++
- Написал калькулятор на c++ он не работает вот код
- Необходима помощь в решении задачи. C++
- нужно написать браузер на C++
- Помогите написать программу по C++
- Помогите пожалуйста! нужно написать программу на C++
- Написал программу в c++. Отправил на другой компьютер. Выдало ошибку потому
- Допоможіть написати програму на C++
- помогите написать программу на c++