IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Задача на строки, C++
arhDMC
сообщение 14.12.2007 0:38
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской
Реальное имя: Вася

Репутация: -  0  +


Здравствуйте. Помогите написать задачу которая считывает текст из файла и выводит на экран сначала предложения начинающиеся с однобуквенных слов а затем все остальные. Спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 14.12.2007 10:53
Сообщение #2


Гость






Ну, раз С++... Сам просил:
#include <iostream>
#include <fstream>

#include <vector>

using namespace std;

int first_word_len(const string& s) {
return (s.substr(s.find_first_not_of(' ')).find(' ') == 1) ? 1 : 0;
}

bool is_letter(const string& s1, const string& s2) {
return first_word_len(s1) > first_word_len(s2);
}

int main() {
fstream in_file("data.txt", ios::in);

string buffer;
vector<string> storage;

while(getline(in_file, buffer, '\n')) {
storage.push_back(buffer);
}
in_file.close();

sort(storage.begin(), storage.end(), is_letter);

for(vector<string>::iterator i = storage.begin(); i < storage.end(); i++) {
cout << *i << endl;
}
}

 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 16.08.2025 14:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"