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

вывод текста, определение количество слов в тексте, у которых первый и последний символы совпадают. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как изменить кодировку вывода? http://www.cyberforum.ru/cpp-beginners/thread95729.html
Доброе утро всем. Помогите новичку. Только начал изучать программирование на С++ (в среде Visual Studio 2008 express), и столкнулся с первой проблемой, обьяснения которой ни в каких книжках пока не нашел. #include <iostream> int main() { std::cout << "Привет всем!"; return 0; }
C++ Как делать log.txt? Реализацию объяснять не надо - сам справлюсь. А что выводу в лог подлежит и где именно этот вывод лучше сделать? http://www.cyberforum.ru/cpp-beginners/thread95714.html
C++ Ссылки и оператор new!
Вопрос заключается в следующем! Как можно освободить динамическую память, адрес которой присвоен ссылке? Пример фрагмента кода: int *pint=new int(5); int &rint=*pint; Как освободить область в куче? *pint.
C++ Передача указателей в функции
Привет всем. Вообщем изучаю с\с++ по книге Павловской, дошел до динамических структур данных(списки, стеки, очереди...), Вообщем наткнулся там на пример списка, не могу понять как передаються ьам указатели в функции. А конкретно не понятны передачи указателей в функции add и remove. Объясните пожалйуста подробно, заранее благодарен всем отозвавшимся. #include <windows.h> #include <conio.h>...
C++ Виртуальные функции. Абстрактные классы. http://www.cyberforum.ru/cpp-beginners/thread95698.html
Есть у меня абстрактный класс class DataManager { protected: Configuration configuration; public: DataManager(Configuration config); virtual List<Buss> loadBuss() = 0; virtual List<Route> loadRoute() = 0; virtual List<Reys> loadReys() = 0;
C++ Описать процедуру, меняющую содержимое переменных X и Y вот тут решил разобраться с языком си, решал задачки и вот напоролся на такую: Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y. Собстна как сделать такую штуку? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9382 / 5432 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
16.02.2010, 01:37     вывод текста, определение количество слов в тексте, у которых первый и последний символы совпадают.
Цитата Сообщение от ZverBoy Посмотреть сообщение
Использовать ТОЛЬКО библиотечные функции ввода/вывода СИМВОЛА.
Исходный текст и результат работы программы выводятся на экран.
Нельзя использовать функции библиотеки в файле string.h
Нельзя использовать библиотечные функции работы со строками(словами)!
Обработка текста должна вестись посимвольно!
Мазохизм какой-то! Точно не подойдёт, но может ещё кому пригодится:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <fstream>
#include <sstream>
#include <list>
#include <iterator>
#include <string>
 
/*
*   Написать программу, которая:
*   1) Выводит текст на экран дисплея;
*   2) определяет количество слов в тексте, у которых первый и последний символы совпадают.
*/
 
int main(){
    std::string buf, tmp;
    std::list<std::string> words;
    std::ifstream fin("text.dat");
    if ( !fin.is_open() ){
        std::cerr << "Can't open input file!" << std::endl;
        return 1;
    }
    std::cout << std::endl << "File content:" << std::endl << std::endl;
    while ( std::getline(fin, buf) ){
        std::cout << buf << std::endl;
        std::istringstream ist(buf);
        while ( ist >> tmp ){
            std::string::size_type pos = tmp.find_last_not_of(".,!?:;");
            if ( pos == std::string::npos )
                continue;
            tmp.erase(pos + 1);
            if ( tmp.size() > 1 && *tmp.begin() == *tmp.rbegin() )
                words.push_back(tmp);
        }
    }
    fin.close();
    words.sort();
    words.unique();
    std::cout << std::endl << words.size() << " words with same first and last letter." << std::endl;
    std::copy(words.begin(), words.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    std::cout << std::endl;
    
    return 0;
}

text.dat
Код
This tutorial assumes no previous knowledge of scripting or programming, 
but progresses rapidly toward an intermediate/advanced level of instruction 
(...all the while sneaking in little snippets of UNIX wisdom and lore). 
It serves as a textbook, a manual for self-study, and a reference and source 
of knowledge on shell scripting techniques. The exercises and heavily-commented 
examples invite active reader participation, under the premise that the only 
way to really learn scripting is to write scripts.


вывод
Код
$ ./same_first_last_letter 
File content:

This tutorial assumes no previous knowledge of scripting or programming, 
but progresses rapidly toward an intermediate/advanced level of instruction 
(...all the while sneaking in little snippets of UNIX wisdom and lore). 
It serves as a textbook, a manual for self-study, and a reference and source 
of knowledge on shell scripting techniques. The exercises and heavily-commented 
examples invite active reader participation, under the premise that the only 
way to really learn scripting is to write scripts.

6 words with same first and last letter.
level
reader
scripts
serves
snippets
that
 
Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru