У меня есть еще один вопрос, я хочу добавить _ перед каждым капитальным письмом, которое будет преобразовано в нижний регистр, плюс первая буква не может быть капиталом! Я не могу понять, как это сделать ...: {Пример:символы нижней строки и добавьте _ перед конвертированной заглавной линией
вход: loLollL, выход: lo_loll_l , и я хочу, чтобы идти в обратном направлении тоже: вход: lo_loll_l выход: loLollL
код здесь:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
const int max = 100;
string slovo;
int pocet_r;
cout << "Zadaj pocet uloh:" << endl;
cin >> pocet_r;
if(pocet_r >= 1 && pocet_r <=100)
{
// funkcia na zabezpecenie minimalneho poctu chars
for (int i = 0; i <pocet_r; i++)
{
cout << "Uloha " << i+1 << ":" << endl;
cin >> slovo;
if(slovo.size() > max)
{
cout << "slovo musi mat minimalne 1 a maximalne 100 znakov" << endl;
}
while(slovo.size() > max)
{
cin >> slovo;
}
for (int i=0; i <= slovo.size(); i++)
{
int s = slovo[i];
while (s > 'A' && s <= 'Z')
{
if(s<='Z' && s>='A'){
return s-('Z'-'_z');
}else{
cout << "chyba";
}
}
}
cout << slovo[i] << endl;
}
}else{
cout << "Minimalne 1 a maximalne 100 uloh" << endl;
}
system("pause");
}
EDIT>
for (int i=0; i <= slovo.size(); i++)
{
while (slovo[i] >= 'A' && slovo[i] <= 'Z')
{
string s = transform(slovo[i]);
cout << s << endl;
s = untransform(s);
cout << s << endl;
}
}
1. Обратный результат не определяется однозначно, даже если '' 'запрещено в исходной строке,' lo_loll_l' может trnsform для 'loLollL' или' LoLollL'. 2. '' _z'' не является персонажем, это опечатка? – Nabla
3. Почему вы возвращаетесь из 'main' в середине вашего кода? Это закончит программу. 4. Я не понимаю имена переменных и текст вывода. Это было бы проще, если бы вы перевели все на английский. 5. В какой-то момент вы должны назначить новую строку, вы никогда этого не сделаете. – Nabla
Я обновил то, что должен сделать мой код, строка не может начинаться с заглавной буквы – frank17