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

длинное слово - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести скалярное произведение векторов. http://www.cyberforum.ru/cpp-beginners/thread407805.html
Даны векторы j(7) и k(8). Если наименьший элемент вектора k больше наибольшего элемента вектора k, то поменять их местами и вывести векторы, иначе вывести скалярное произведение векторов.
C++ Inline-метод Как можно декларировать inline-метод класса не используя ключевое слово inline?? http://www.cyberforum.ru/cpp-beginners/thread407803.html
C++ Программирование с использованием абстрактных типов данных
Уважаемые участники форума, помогите, пожалуйста, с написанием программ на С++. В задачах следует, помимо перечисленного в условии, определить еще необходимые конструкторы и деструкторы, возможно оператор(ы) присваивания для создаваемых типов и написать программу, иллюстрирующую работу с созданным типом. Задача 1. Определить класс "очередь символов", операции постановки в очередь и выборки ...
Задача по строкам C++ C++
Разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также найти средний балл студента с введенной фамилией.
C++ Как вывести массив? http://www.cyberforum.ru/cpp-beginners/thread407800.html
class Pirma_klase{ public: void isvesti_teksta(double JD); double skaicioti_jdn(); double JD; }; void Pirma_klase::isvesti_teksta(double JDN){ cout.setf(ios::fixed,ios::floatfield);
C++ Задачи по Функциям С++ Помогите с заданиями. Очень нужно... 1) Написать функцию, которая выводит на экран строку заданной длины из заданных символов. 2) Даны два случайно заполненных массива. Написать функцию, входными параметрами которой являются эти массивы, а выходными параметрами являются два других массива, в одном из которых содержаться отрицательные числа, а в другом – неотрицательные. 3) Написать функцию,... подробнее

Показать сообщение отдельно
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
15.12.2011, 10:17     длинное слово
Цитата Сообщение от talis Посмотреть сообщение
Интересно, можно ли обойтись std::алгоритмами без промежуточного вектора.
Можно даже не использовать algorithm а всё сделать объектом string у него очень мощные методы есть.
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
#include <iostream>
#include <string>
using namespace std;
#define SPL  " \n\t.,"
 
int  main(void) {
   string str = "All party the buy, multiply. Pay";
 
   string cmp = "", tmp = "";
   string::size_type pa = 0, pb = 0;
 
   for(; pa != string::npos; pa = pb){
        pa = str.find_first_not_of(SPL, pa);
        pb = str.find_first_of(SPL, pa);
        if((pb - pa) > 0) {
              cmp = str.substr(pa, pb - pa);
              if(cmp[cmp.length()-1] == 'y') {
                    if(cmp.length() > tmp.length())
                          tmp = cmp;
                    cout << cmp << endl;  //вывод слов заканчивающих на 'y'
              }
        }
   }
   cout << "long word(end 'y'): " << tmp << endl;
   return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru