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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2014, 00:04   #1
corp.delta
 
Регистрация: 07.03.2014
Сообщений: 7
По умолчанию Дана непустая последовательность из строчных латинских букв, между соседними словами - запятая, за последним словом точка... (С++)

Дана непустая последовательность из строчных латинских букв, между соседними словами - запятая, за последним словом точка. Напечатать букву, которая входит в наибольшее количество слов этой последовательности.
Код:
using namespace std;
int main()
{
	string s, d = ",.";//разделители слов в строке
	cout << "Vvedite Stroky: "; //запрос на введение строки
	cin >> s;//считывание строки
	vector<string> v;
	int b, e = 0;
	while ((b = s.find_first_not_of(d, e)) != s.npos)
	{
		e = s.find_first_of(d, b);
		v.push_back(s.substr(b, e - b));
		b = e;
	}
	cout << "array:\n";//Вывод слов в отдельных строках
	for (int c = 0; c < v.size(); ++c)
		cout << v[c] << endl;

system("PAUSE");
}
я сделал что то типа этого, только не понимаю как сделать так чтобы она определяла букву которая входит в наибольшее количество слов.



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Stilet; 08.03.2014 в 14:01.
corp.delta вне форума Ответить с цитированием
Старый 08.03.2014, 22:49   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

вот что-то типа (ни кампилял):
Код:
vector<int> vi;
vector<string> vs;
vi.resize(26,0);

for (int is = 0; is < vs.size() ; is++)
{
	for (int ii = 0; ii < vi.size() ; ii++)
	{
		if (vs[is].find_first_of('a' + ii) != string::npos || vs[is].find_first_of('A' + ii) != string::npos)
		{
			++vi[ii];
		}
	}		 
}
И еще, у вас явно указан конец нужного участка последовательности, т.е. точка.
Smogg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана непустая последовательность слов из строчных русских букв... yuriy1 Помощь студентам 1 21.10.2012 17:08
Паскаль АBC, строки. Дан текст. Между соседними словами – не менее одного пробела, за последним словом. Margosham-k Помощь студентам 0 18.04.2012 15:28