Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 20:07   #1
stck
Пользователь
 
Аватар для stck
 
Регистрация: 14.06.2010
Сообщений: 84
Вопрос Простая алгоритмитизации

Прошу прощения за обращение, я прочитал правила новичкам, понимаю что тему удалят и т.д. Но все же прошу помочь с алгоритмом. Мне нужно сделать комбинированный проект, в том числе содержащий алгоритм на С++, с коим не знаком, ввиду специализации на делфях и других программных средствах. Я не ищу халявы, а прошу помощи. Алгоритм почти элементарный, но сам сделать никак не могу.
В чем суть:
Вывести на экран текст, составленный из всех слов данного файла, содержащих ровно две буквы d/д(не особо принципиально).
Заранее благодарен!

Последний раз редактировалось stck; 19.11.2010 в 20:14.
stck вне форума Ответить с цитированием
Старый 19.11.2010, 20:26   #2
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Слова должны идти в том же порядке, как и в файле; или все перестановки?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 19.11.2010, 20:30   #3
stck
Пользователь
 
Аватар для stck
 
Регистрация: 14.06.2010
Сообщений: 84
По умолчанию

Как и в файле. Перестановка не нужна.)
stck вне форума Ответить с цитированием
Старый 19.11.2010, 20:52   #4
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Я бы организовал так:
Код:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>

using std::cout;
using std::endl;
using std::ifstream;
using std::vector;
using std::string;
using std::count;

#define FCHARACTER 'd' // Your character in the words

int main()
{
	ifstream fin("text.txt"); // Your file name
	if(!fin.is_open())
	{
		cout << "Can't open the input file." << endl;
		return 1;
	}

	string word; // Current word
	vector<string> words; // The array of the right words
	while(fin)
	{
		fin >> word;
		if(fin && count(word.begin(), word.end(), FCHARACTER) == 2) // If the word is right
		{
			for(size_t i=0; i<word.length(); i++)
				if(ispunct(word.at(i)))
					word.erase(i); // Delete all the punctuations
			words.push_back(word);
		}
	}

	// Print all the words
	for(vector<string>::iterator rand_iter=words.begin(); rand_iter != words.end(); rand_iter++)
		cout << *rand_iter << " ";
	cout << "." << endl;

	fin.close();

	return 0;
}
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 19.11.2010, 21:07   #5
stck
Пользователь
 
Аватар для stck
 
Регистрация: 14.06.2010
Сообщений: 84
По умолчанию

Syuf, огромное спасибо за отзывчивость! очень благодарен.)
stck вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая задача!? koralnik Microsoft Office Access 1 17.10.2010 11:02
Простая работа Meunikum Фриланс 1 10.02.2010 19:12
Простая точка Alex Cones Общие вопросы Delphi 4 09.06.2009 13:11
Не простая задача !!! MaxZoa Microsoft Office Excel 2 06.03.2008 18:07