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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2012, 17:16   #1
aidar bubik
Новичок
Джуниор
 
Регистрация: 18.11.2012
Сообщений: 5
Восклицание написать программу на с++, просто я только начала изучать программирование и не могу понять

Здравствуйте. , как реализовать это: дана строка сиволов .признак конца строки -сивол '\n' (перевод строки ).строка состоит из слов , разделенными пробелами .вывести:
самое длинное слово и его порядковый номер в исходной строке
aidar bubik вне форума Ответить с цитированием
Старый 18.11.2012, 18:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Разделить строку на слова и анализировать.
Примеры сплита:
http://www.programmersforum.ru/showthread.php?t=121545
http://www.programmersforum.ru/showthread.php?t=91677
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2012, 19:17   #3
aidar bubik
Новичок
Джуниор
 
Регистрация: 18.11.2012
Сообщений: 5
По умолчанию

спасибо большое)
aidar bubik вне форума Ответить с цитированием
Старый 18.11.2012, 21:56   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Там примеры сишные, в плюсах с этим получше, по-моему.
Код:
#include <algorithm>
#include <functional>
#include <iostream>
#include <iterator>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

bool cmpLen(const string& s0, const string& s1)
{
	return s0.size() < s1.size();
}

int main()
{
	string input;
	getline(cin, input);

	istringstream iss(input);
	vector<string> words;
	copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(words));

	auto longest = max_element(words.begin(), words.end(), cmpLen);
	cout << "Word #" << longest - words.begin() << ": " << *longest << endl;
}
Somebody вне форума Ответить с цитированием
Старый 19.11.2012, 01:18   #5
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

если я ничего не путаю auto доступно только в C++0x.
rUs_LAN вне форума Ответить с цитированием
Старый 19.11.2012, 14:45   #6
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от rUs_LAN Посмотреть сообщение
если я ничего не путаю auto доступно только в C++0x.
Уже давно как C++11. Но если не нравится, можно vector<string>::iterator.
Somebody вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребят,программа правильно написана,только 1 ошибка ,не могу понять где. Anne Помощь студентам 3 09.01.2012 22:17
Пожалуйста помогите написать программу на Pascal, не разу не сталкивался просто с ним. kolashik Помощь студентам 10 08.05.2010 14:02
Только начала изучать С++ помогите... masha17 Общие вопросы C/C++ 6 27.10.2009 20:17
Помогите дописать программу на Delphi 7 не могу понять что здесь не так matrix8325 Помощь студентам 1 30.04.2009 23:34
Не могу понять как отредактировать программу asale Microsoft Office Excel 1 31.01.2007 20:57