Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2011, 12:52   #1
mojohead
Пользователь
 
Регистрация: 10.01.2011
Сообщений: 79
По умолчанию строки

как найти самое длинное слово в строке(но не из файла считывать, а просто массив) слова розделяются пробелами
mojohead вне форума Ответить с цитированием
Старый 19.01.2011, 13:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

искать пробелы и найти максимум из разницы между их соседними позициями - вроде все очень просто
p51x вне форума Ответить с цитированием
Старый 19.01.2011, 13:46   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

ну вот, решил сделать без функтора

Код:
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <vector>

using namespace std;

int main()
{
	string str = "123 11111 222 6666";
	vector<int> v;
	vector<string> m_list;
	stringstream ss(str);
	copy(istream_iterator<string>(ss), istream_iterator<string>(), back_inserter(m_list));
	transform(m_list.begin(), m_list.end(), back_inserter(v), mem_fun_ref(&string::length));
	cout << *(m_list.begin() + (max_element(v.begin(), v.end()) - v.begin())) << endl;
	return 0;
}
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 20.01.2011, 00:25   #4
mojohead
Пользователь
 
Регистрация: 10.01.2011
Сообщений: 79
По умолчанию

спасибо но честно говоря вообще ничего непонятно
mojohead вне форума Ответить с цитированием
Старый 20.01.2011, 08:36   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А так?
http://www.programmersforum.ru/showthread.php?t=121545
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2011, 15:36   #6
igorrr37
 
Регистрация: 31.12.2010
Сообщений: 5
По умолчанию

Код:
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
#include<sstream>
using namespace std;

int main(){
    string s;
    getline(cin, s);
    stringstream ss(s);
    vector<string> v((istream_iterator<string>(ss)), istream_iterator<string>());
    cout<<*max_element(v.begin(), v.end(), [](string& a, string& b){return a.size()<b.size();});
}

Последний раз редактировалось igorrr37; 20.01.2011 в 15:42.
igorrr37 вне форума Ответить с цитированием
Старый 20.01.2011, 19:41   #7
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

напиши функцию которая будет находить слова в строке, создай структуру содержащую всего 2 переменных - массив символов и число, в массиве символов будет храниться самое длинное слово, в числе - длина этого числа, после чего с помощью функции ты берешь из строки по одному слову, сравниваешь, и, если длина слова в структуре меньше, заменяешь на это слово (не забудь изменить при этом длину слова), или, вариант без структуры - просто массив символов, и просто сравнивать strlen() двух слов
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Дбавление новой строки, после строки с подходящими параметрами RailOS Microsoft Office Excel 5 18.08.2010 10:12
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10