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

Определить самое короткое слово в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Microsoft Visual Studio 2010 (rus)по настройке. http://www.cyberforum.ru/cpp-beginners/thread441285.html
Что это означает? http://***************/question/70790618/
C++ Написать функцию к программе Есть программа: #include<stdio.h> #include<iostream.h> #include<conio.h> #include<math.h> #include<stdlib.h> #include<string.h> int N; int MASP1() http://www.cyberforum.ru/cpp-beginners/thread441264.html
Сортировка одномерного массива C++
Массив из 10 целых чисел заполнить случайными числами от -5 до 5. Произвести сортировку массива. Вывести на экран исходный и отсортированный массивы. Сортировать по убыванию прямым выбором Добавлено через 39 минут up up
Microsoft Visual Studio 2010 (rus) настройка unicod C++
Microsoft Visual Studio 2010. Не подскажите где в нстройках найти Unicod ? Чтобы после компиляции,отображались русские символы,а не каракули. Язык Си.
C++ Найти произведение елементов таблицы с парными элементами! http://www.cyberforum.ru/cpp-beginners/thread441246.html
Найти добуток елементов таблицы с парными элементами! Чесно говоря не могу понять,что знаит парные элементы,и вообще как их определить..Помогите.. мне всю програму..зараенее спасибо! если таблица это например двумерный масив .. Официальным языком форума является русский язык. Словарь открой, "добуток"!
C++ Можно ли передать в функцию массив произвольного размера ? Хочу создать функцию для детекта количества элементов в массиве sizeof(array)/sizeof(array); и надо чтобы функция принимала произвольный размер массива как сделать такую функцию на с++ ? подробнее

Показать сообщение отдельно
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.02.2012, 18:28     Определить самое короткое слово в строке
Допусти есть строка s
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
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <iterator>
 
typedef std::string T_str;
typedef std::vector<T_str> T_vec;
 
int split_str_to_vec(const T_str s, const T_str DELIM, T_vec &v)
{
   size_t l, r;
 
   for ( l = s.find_first_not_of(DELIM), r = s.find_first_of(DELIM, l) ; 
      l != std::string::npos ; l = s.find_first_not_of(DELIM, r), r = s.find_first_of(DELIM, l) )
      v.push_back(s.substr(l, r - l));
   return v.size();
}
 
int main()
{
   T_str s("Hello  world Hee Hi");
   T_vec v;
   
   split_str_to_vec(s, " \t\n", v);
   
   std::sort(std::begin(v), std::end(v), [] (const T_str a, const T_str b) { return a.size() < b.size(); });
   
   if ( v.size() ) 
      std::cout << v[0] << std::endl;
 
   return 0;
}
http://liveworkspace.org/code/7812d2...94fd0dba523c1f

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