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

Строки через std::string - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
Fundorin
0 / 0 / 0
Регистрация: 22.11.2011
Сообщений: 3
22.11.2011, 23:04     Строки через std::string #1
Дана строка, слова в которой состоят из букв латинского алфавита и десятичных цифр. Остальные символы – разделители между словами. Получить новую строку, выполняя в заданной строке замены по следующему правилу. Все слова, имеющие длину менее 5 символов и состоящие только из цифр, заменяются словами, получаемыми из исходных путём дописывания ведущих нулей до получения длины слова, равной 5. Все слова, состоящие только из букв, заменяются словами, записанными в обратном порядке. Слова в новой строке должны разделяться ровно одним пробелом.
Я просто не понимаю как с ними работать.Как разбить на лексемы и тд .Если можно то помогите с кодом.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
23.11.2011, 00:56     Строки через std::string #2
Строки легко считываются из стандартного потока: std::cin >> my_string. Для того, чтобы узнать размер строки, есть метод "size". Чтобы узнать, что строка состоит только из цифр или только букв, можно использовать библиотеку "ctype.h" и функции "isdigit" и "isalpha". Для инвертирования строки можно ипользовать алгоритм std::reverse.
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
23.11.2011, 01:00     Строки через std::string #3
Цитата Сообщение от volovzi Посмотреть сообщение
std::cin >> my_string
До 1го пробела

C++
1
std::getline(std::cin, my_string);
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
23.11.2011, 01:05     Строки через std::string #4
Я почему-то подумал, что исходный текст и состоит из слов, разлелённых пробелами.
Ну тогда да, либо getline и работать с большой строкой, либо считывать по символу.
soft.creator
 Аватар для soft.creator
103 / 103 / 4
Регистрация: 17.10.2010
Сообщений: 283
23.11.2011, 09:52     Строки через std::string #5
Ну еще есть такие полезные штуки как find, find_first_of, find_first_not_of, весьма помогают при разбиении на лексемы
Yandex
Объявления
23.11.2011, 09:52     Строки через std::string
Ответ Создать тему
Опции темы

Текущее время: 09:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru