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

Разбить строку на слова из словаря - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Стеки http://www.cyberforum.ru/cpp-beginners/thread281855.html
Помогите разобраться со стеками.Вылетает 3 ошибки при компеляции. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <math.h> #include <fstream> #include <time.h> #include <locale.h> #include <iostream>
C++ Не работает функция в С++ Всем привет! Вот мне надо написать функцию, которая находит максимальное среди трёх введённых чисел. Я вот накинул программку и прошу проверить вас... Заранее благодарен! #include <iostream.h> #include <conio.h> float Max(float, float, float) void main() { clrscr(); float max, x1, x2, x3; cout<<"Enter the three numbers\n"; cin>>x1>>x2>>x3; http://www.cyberforum.ru/cpp-beginners/thread281852.html
C++ Считывание файлов в двумерный массив
Всем привет, просьба помочь с кодом. Есть текстовый файл с разными спецсимволами(@, &, *, % и.т.д.) как считать определенные спецсимволы в массив к примеру @ и & а остальные проигнорировать? Заранее спасибо.
Дана строка с набором случайных символов, при вводе 10 букв первые 5 букв становятся большими , вторые 5 букв маленькими C++
Дана строка с набором случайных символов, при вводе 10 букв первые 5 букв становятся большими , вторые 5 букв маленькими .Если непонятно то визуально выглядит так: введите данные: abdtTfgTGY данные изменены: ABDTTfgtgy Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержимое.
C++ Рекурсия. Перебор различных слагаемых. http://www.cyberforum.ru/cpp-beginners/thread281795.html
Решил изучить рекурсию... Если с факториалом и числами Фибоначчи все просто и понятно, то на первой же задаче я впал в ступор=\ Условие: Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем предыдущий. Требуется написать программу, вычисляющую число лесенок, которое можно построить из N кубиков. Входные данные: Во входном файле INPUT.TXT...
C++ Цепь Маркова Мне надо написать программу, которая будет имитировать работу цепи Маркова. Есть ли готовые алгоритмы? В заранее благодарен. подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.04.2011, 19:50     Разбить строку на слова из словаря
Пытался тоже зделать, дальше 5-го теста не идет
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
44
45
46
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <algorithm>
#include <iterator>
#include <numeric>
 
typedef std::string  T_str;
 
bool comp(T_str a, T_str b){
  return a.length() > b.length();
}
 
int main(){
  std::ifstream  ifs("input.txt");
  T_str  main_str, res_str;
  getline(std::cin, main_str);
  res_str = main_str;
  const size_t  &N = std::cin.get() - '0';
  std::vector<T_str>  dict_words(N), tail;
  for(size_t i = 0; i < N; ++i)
    std::cin >> dict_words[i];
  std::sort(dict_words.begin(), dict_words.end(), comp);
  for(size_t i = 0; i < N; ++i){
    while(main_str.find(dict_words[i]) != T_str::npos){
      tail.push_back(dict_words[i]);
      main_str.erase(main_str.find(dict_words[i]), dict_words[i].length());
    }
  }
  if(!main_str.empty())
    tail.push_back(main_str);
  std::sort(tail.begin(), tail.end());
  bool key = false;
  do{
    T_str tmp = std::accumulate(tail.begin(), tail.end(), T_str(""));
    if(tmp == res_str){
      std::copy(tail.begin(), tail.end(), std::ostream_iterator<T_str>(std::cout, " "));
      key = true;
      break;
    }
  }while(std::next_permutation(tail.begin(), tail.end()));
  if(!key)
    std::cout << res_str;
  return 0;
}
 
Текущее время: 00:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru