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

Сформируйте новую строку из пяти самых длинных слов. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки в Visual С. Срочно пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread280615.html
Определить, является ли указанная строка правильной записью адреса e-mail, или URL.
C++ Количество пар соседних элементов Вычислить количество пар соседних элементов,которые имеют противоположные знаки. При условии что размерность массива 200 а диапазон значений -50-50! http://www.cyberforum.ru/cpp-beginners/thread280604.html
Как в DEV C++ добавить опцию компилятора *cpp? C++
Друзья! У меня в папке несколько файлов с расширением cpp и они все должны быть включены в компиляцию. Так, а по умолчанию компилятор компилит только ОДИН файл, а остальные должны быть подключены к нему явно #include "drugoi_fail.cpp" Это плохо. Теперь, если компилить все эти файлы из командной строки: g++ *.cpp То всё вроде бы ОК, опция *.cpp говорит, что надо компилить все файлы...
Вывести матрицу в заданном виде C++
Требуется создать квадратную матрицу 9х9, заполнить и вывести в таком виде: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 3 4 0 0 0 0 0 5 6 7 8 9 0 0 0 10 11 12 13 14 15 16 0 17 18 19 20 21 22 23 0 0 0 24 25 26 27 28 0 0 0 0 0 29 30 31 0 0 0 0 0 0 0 32 0 0 0 0 0 0 0 0 0
C++ Указатели http://www.cyberforum.ru/cpp-beginners/thread280579.html
Доброго времени суток всем. Прошу помощи с выполнением вот такого вот задания: Найти количество пар соседних элементов, имеющих одинаковые абсолютные величины, но разные знаки. Размерность массива:100 элементов. Диапазон значений: от -50 до 50. P.S. Задание должно быть выполнено через указатели.
C++ Условные операторы Напечатать таблицу значений функций y=sqr(x)+4x на интервале от -5 до 5. подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
21.04.2011, 21:01     Сформируйте новую строку из пяти самых длинных слов.
Цитата Сообщение от Lacteus Посмотреть сообщение
Дана строка слов, разделенных пробелами, запятыми, точками. Сформируйте новую строку из пяти самых длинных слов. Определите количество слов, начинающихся первой буквой алфавита (русского или латинского).
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
#include <iostream>
#include <string>
#include <sstream>
#include <set>
#include <algorithm>
#include <cctype>
#include <iterator>
 
typedef std::string  T_str;
 
int main(){
  std::string s, res_s = "", tmp;
  std::cout << "\n\nString = ";
  getline(std::cin, s);
  struct  comp{
    bool operator() (const T_str &_s, const T_str &__s) const{
      return _s.length() > __s.length();
    }
    bool operator() (const T_str &_s) const{
      return _s[0] == 'a' || _s[0] == 'A';
    }
  };
  std::replace_if(s.begin(), s.end(), ispunct, ' ');
  std::istringstream ist(s);
  std::multiset<T_str, comp>  set_wrd((std::istream_iterator<T_str>(ist)),
                                       std::istream_iterator<T_str>());
  if(set_wrd.size() < 5){
    std::cerr << "INPUT ERROR" << std::endl;
    return 1;
  }
  std::multiset<T_str, comp>::iterator it = set_wrd.begin(), _it = it;
  std::advance(it, 5);
  while(_it != it){
    res_s += *_it + " ";
    ++_it;
  }
  std::cout << "\n\nResult string = " << res_s << '\n'
            << "Count = " << std::count_if(set_wrd.begin(), set_wrd.end(), comp())
            << std::endl;
  return 0;
}
 
Текущее время: 00:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru