С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Определить самое короткое слово в строке - 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. Произвести сортировку массива. Вывести на экран исходный и отсортированный массивы. Сортировать по убыванию прямым выбором ...
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
Эксперт С++
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/7812d208542ddb7f8c94fd0dba523c1f

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