Дан текст, состоящий из слов, разделенных пробелами. Слова, начинающиеся и заканчивающиеся на букву "я", удалить из текста
Нужен только Листинг
Код:
int main(int argc, char** argv) {
std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert";
std::string out;
std::string tmp;
for(int i=0;i<txt.length();i++){
tmp.clear();
if(txt[i] != 'd'){
do out.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
out.push_back(txt[i]);
} else {
do tmp.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
}
if(txt[i-1] != 'd' && tmp.length()){
for(int j=0;j<tmp.length();j++)
out.push_back(tmp[j]);
out.push_back(txt[i]);
}
}
std::cout << txt << std::endl;
std::cout << out << std::endl;
system("pause");
return 0;
}
std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert";
std::string out;
std::string tmp;
for(int i=0;i<txt.length();i++){
tmp.clear();
if(txt[i] != 'd'){
do out.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
out.push_back(txt[i]);
} else {
do tmp.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
}
if(txt[i-1] != 'd' && tmp.length()){
for(int j=0;j<tmp.length();j++)
out.push_back(tmp[j]);
out.push_back(txt[i]);
}
}
std::cout << txt << std::endl;
std::cout << out << std::endl;
system("pause");
return 0;
}
Просто я хотел увидеть Листинг на Паскале
Цитата: orik
Просто я хотел увидеть Листинг на Паскале
А на этот вопрос, свой, как всегда, красноречивый ответ уже дал, уважаемый, sadovoya.
Впрочем, логика алгоритма проста и переписать его на паскале - тривиальная задача.
Цитата: Meander
Посмотри как изумительно это выглядит на C++:
Код:
int main(int argc, char** argv) {
std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert";
std::string out;
std::string tmp;
for(int i=0;i<txt.length();i++){
tmp.clear();
if(txt[i] != 'd'){
do out.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
out.push_back(txt[i]);
} else {
do tmp.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
}
if(txt[i-1] != 'd' && tmp.length()){
for(int j=0;j<tmp.length();j++)
out.push_back(tmp[j]);
out.push_back(txt[i]);
}
}
std::cout << txt << std::endl;
std::cout << out << std::endl;
system("pause");
return 0;
}
std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert";
std::string out;
std::string tmp;
for(int i=0;i<txt.length();i++){
tmp.clear();
if(txt[i] != 'd'){
do out.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
out.push_back(txt[i]);
} else {
do tmp.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
}
if(txt[i-1] != 'd' && tmp.length()){
for(int j=0;j<tmp.length();j++)
out.push_back(tmp[j]);
out.push_back(txt[i]);
}
}
std::cout << txt << std::endl;
std::cout << out << std::endl;
system("pause");
return 0;
}
аГА особено эта строчка просто выглядет грандиозно)))
Цитата: alcatraz_kms
Цитата: Meander
Посмотри как изумительно это выглядит на C++:
Код:
int main(int argc, char** argv) {
std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert";
std::string out;
std::string tmp;
for(int i=0;i<txt.length();i++){
tmp.clear();
if(txt[i] != 'd'){
do out.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
out.push_back(txt[i]);
} else {
do tmp.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
}
if(txt[i-1] != 'd' && tmp.length()){
for(int j=0;j<tmp.length();j++)
out.push_back(tmp[j]);
out.push_back(txt[i]);
}
}
std::cout << txt << std::endl;
std::cout << out << std::endl;
system("pause");
return 0;
}
std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert";
std::string out;
std::string tmp;
for(int i=0;i<txt.length();i++){
tmp.clear();
if(txt[i] != 'd'){
do out.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
out.push_back(txt[i]);
} else {
do tmp.push_back(txt[i]);
while(txt[++i] != ' ' && i<txt.length());
}
if(txt[i-1] != 'd' && tmp.length()){
for(int j=0;j<tmp.length();j++)
out.push_back(tmp[j]);
out.push_back(txt[i]);
}
}
std::cout << txt << std::endl;
std::cout << out << std::endl;
system("pause");
return 0;
}
аГА особено эта строчка просто выглядет std::string txt = "dsdfg ertgddfg dfgdfd gfddfd dfghd ertyert"; грандиозно)))
Простейший алгоритм, голову лень включить?...
прошли по тексту, поймали Я в начале, выкинули все, что до следующего пробела, поймали Я в конце выкинули все что до предыдущего пробела....
детский сад...