Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
NastiKor
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
#1

Строки - C++

06.12.2009, 17:01. Просмотров 1156. Ответов 3
Метки нет (Все метки)

1. Дана строка. Найти симметричные слова. Распечатать их в алфавитном порядке, если таких слов нет - выдать соответсвующие сообщение.

2. Найти в строке все слова, в которых каждая буква встречается более одного раза.
Найденные слова вывести в алфавитном порядке.
Если нужных слов нет, то выдать сообщение.

3. Найти самое короткое и длинное слово, в котором нет повторяющихся букв.

Я так понимаю, сто везде надо использовать strtok, т.е. у нас была строка s: dfg gcvbb bv
потом после strtok стал массив Р такого вида:
dfg
gcvbb
bv

Первый элемент массива мы всегда знаем...но как проверить симметричность слова dfg например?
или как поставить счетчик так, чтобы потом, он обнулялся?
И с коротким и длинным словом не понятно...два счетчика ставить?


всё нужно сделать с использованием функции
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2009, 17:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Строки (C++):

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: "Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...

3
breeve
75 / 75 / 14
Регистрация: 01.08.2009
Сообщений: 177
06.12.2009, 18:06 #2
Цитата Сообщение от NastiKor Посмотреть сообщение
1. Дана строка. Найти симметричные слова. Распечатать их в алфавитном порядке, если таких слов нет - выдать соответсвующие сообщение.

2. Найти в строке все слова, в которых каждая буква встречается более одного раза.
Найденные слова вывести в алфавитном порядке.
Если нужных слов нет, то выдать сообщение.

3. Найти самое короткое и длинное слово, в котором нет повторяющихся букв.

Я так понимаю, сто везде надо использовать strtok, т.е. у нас была строка s: dfg gcvbb bv
потом после strtok стал массив Р такого вида:
dfg
gcvbb
bv

Первый элемент массива мы всегда знаем...но как проверить симметричность слова dfg например?
или как поставить счетчик так, чтобы потом, он обнулялся?
И с коротким и длинным словом не понятно...два счетчика ставить?


всё нужно сделать с использованием функции

ну тут все достаточно просто, тебе надо посмотреть про сортировку в FAQ.
Сначала ты разбиваешь строку на слова с помощью strtok. Затем
1) Считаешь кол-во символов в одном слове. и сравниваешь последний и первый и так до середины.. так ты выявляешь симметричные. И затем сортируешь..

2)Сортируешь слово в отдельную переменную.. И сравниваешь текущий символ и следующий, если совпадают то значит есть одинаковые буквы.. И затем сортируешь..

3)делаешь пункт два а затем считаешь кол-во символов и выявляешь минимум и максимум..
0
NastiKor
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
06.12.2009, 18:18  [ТС] #3
breeve,
1. симметричное слово обязательно должно содержать нечетное кол-во символов?
2. эээ..слово в переменную?
0
breeve
75 / 75 / 14
Регистрация: 01.08.2009
Сообщений: 177
06.12.2009, 20:16 #4
Цитата Сообщение от NastiKor Посмотреть сообщение
breeve,
1. симметричное слово обязательно должно содержать нечетное кол-во символов?
2. эээ..слово в переменную?
1. Нет, не обязательно. Это на самом деле не важно.. ты просто делишь длину слова пополам нацело.. допустим у тебя 5 букв. пополам получается 2. и вот ты с начала и с конца двигаешься к центру и сравниваешь буквы.. а последнюю ты просто не сравниваешь.. а если слово из четного кол-ва символов, то последней буквы и нет вовсе..

2. Переменную я имею ввиду - отдельную строку.. вообще строка это же тоже переменная..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2009, 20:16
Привет! Вот еще темы с ответами:

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
"Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Прибавить ко всем элементам каждой строки максимальное значение этой строки - C++
добрый вечер! Помогите пожалуйста доработать код! Изменить текущий массив, прибавив ко всем элементам каждой строки максимальное...

Вычислить длину введенной строки и вывести символы строки с четными индексами - C++
Напишите программу, которая требует ввода строки с клавиатуры. Программа вычисляет длину строки и выводит на экран только те символы...

Как первые два символа строки переставить в конец этой строки? - C++
Собственно вопрос


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru