Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
danikgavr
1 / 1 / 0
Регистрация: 05.12.2008
Сообщений: 4
#1

считать текст из файла и вывести на экран слова меняя каждые соседние между собой - C++

18.05.2009, 19:28. Просмотров 1982. Ответов 0
Метки нет (Все метки)

Есть прога: считать текст из файла и вывести на экран слова меняя каждые соседние между собой. Есть код рабочий :
Код
#include <iostream>
using std::cout;
#include <fstream>
using std::ifstream;
#include <vector>
using std::vector;
#include <string>
using std::string;
#include <conio.h>

// Функция проверяет, является ли символ ch буквой
// (Работает только с английскими буквами).
bool is_letter(char ch);

int main(){
// Читаем текст из файла.
ifstream ifs("input.dat");
string str;
char c;
while((c=ifs.get())!=EOF){
str += c;
}
// Разбиваем текст на подстроки.
vector<string> vec;
string elem;
for(int i=0;i<str.length();i++){
char ch = str[i];
if(is_letter(ch)){
if(((i-1)>=0)&&(!is_letter(str[i-1]))){
vec.push_back(elem);
elem = string(1, ch);
}else elem+=ch;
}else{
if(((i-1)>=0)&&(is_letter(str[i-1]))){
vec.push_back(elem);
elem = string(1, ch);
}else elem+=ch;
}
}
vec.push_back(elem);
// Меняем местами парные слова, не трогая знаки препинания.
string toReplace;
int replacePos;
for(int i=0;i<vec.size();i++){
if(is_letter(vec[i][0])){
if(toReplace.size()==0){
toReplace = vec[i];
replacePos = i;
}else{
string temp = vec[i];
vec[i] = toReplace;
vec[replacePos] = temp;
toReplace = string();
}
}
}
// Выводим числа в консоль.
for(int i=0;i<vec.size();i++){
cout << vec[i];
}
// Чтобы консоль не закрылась после вывода результатов ожидаем
// нажатие клавиши.
getch();
return 0;
}

bool is_letter(char ch){
return (ch>='a')&&(ch<='z');
}
Но есть проблемка, мне нужно через string. Не знаю как разбить тогда этот текст. Может ктонибудь подскажет или на мысль наведет как записать? Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2009, 19:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос считать текст из файла и вывести на экран слова меняя каждые соседние между собой (C++):

Введенный текст вывести на экран, меняя местами каждые два слова - C++
Напишите программу, которая выведет на экран введённый текст выведет на экран меняя местами каждые два соседних слова. я не знаю...

Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова - C++
Ребят, помогите пожалуста програмку написать, мне завтра для зачета надо....я нехрена не знаю((( Написать программу, которая считывает...

Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова - C++
Вот исходный код: #include &lt;fstream&gt; #include &lt;iostream&gt; //#include&lt;clocale&gt; using namespace std; int main() { ...

Написать программу,которая считывает текст из файла и выводит его на экран,меняя местами каждые два соседних слова. - C++
Написать программу,которая считывает текст из файла и выводит его на экран,меняя местами каждые два соседних слова.

Вывести текст, меняя соседние слова местами - C++
Пожалуста кто знает помогите найти ошибку в программе, программа считывает текст и выводит его меняя соседние слова местами вот код: int...

Написать программу, которая считывает текст с клавиатуры и выводит его на экран, меняет местами каждые соседние слова - C++
Помогите пожалуйста Написать программу, которая считывает текст с клавиатуры и выводит его на экран, меняет местами каждые соседние слова...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2009, 19:28
Привет! Вот еще темы с ответами:

Считать текст из файла и вывести его на экран, заменив цифры от 0 до 9 на слова - C++
Задачка в С++ Считать текст из файла и вывести его на экран, заменив цифры от 0 до 9 на слова «ноль», «один», …, «девять», начиная...

Считать текст из файла и вывести на экран слова из него в алфаыитном порядке - C++
Здравствуйте. Помогите пожалуйста с решением одной задачи. Необходимо считать текст из файла и вывести на экран слова из него в...

Считать английский текст из файла и вывести на экран слова, начинающиеся с гласных букв - C++
программа , которая считает английский текст из файла и выводит на экран слова, начинающиеся с гласных букв!!! Помогите исправить...

Считать из файла текст; вывести на экран все слова текста, упорядочив их по размеру - C++
Ребят, помогите с задачей пожалуйста. Нужно считать текст из файла, потом вывести все слова этого текста на экран, упорядочив их по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru