Помощь - Поиск - Пользователи - Календарь
Полная версия: Поиск слов в строке
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
-NIK-
Помогите выполнить задание. Оно собственно следующее.... дана строка длины до 255 с пробелами. Найти все такие слова которые составлены из тех же букв что и первое, т.е. буквы должны быть темеже, но встречаться могут чаще одного раза, а также в счёт регистр, т.е. заглавная буква или нет - они считаются разными МАМА МАМАМААА - второе слово нас устривает, т.к. состоит из тех же букв..... а вот если скажем а - маленькое, то не одно и тоже... Писать на С, компилятор Visual Studio
volvo
Visual Studio не держу, на Turbo C работает:

#include <string.h>
#include <stdio.h>

int main() {

char s[255], first[20], *p, *pp;
int i;

gets(s);
/*
Функция strtok выделяет из заданной строки лексемы, разделенные одним из
символов-разделителей, заданных вторым параметром
*/
p = strtok(s, " ");
// Выделили первую лексему (первое слово), и скопировали его в переменную first
strcpy(first, p);

// Пока строка не закончится ...
while(p) {
// ... выделять очередное слово ...
p = strtok(NULL, " ");
// ... и если оно существует ...
if(p) {
/*
каждый символ этого слова проверять на входжение в первое слово
(функция strchr вернет NULL если символ НЕ был найден в строке, иначе вернется адрес символа)

Если strchr вернула адрес, а не NULL, то увеличить счетчик букв, которые совпали с
буквой из первого слова
*/
for(pp = p, i = 0; *pp; pp++) if(strchr(first, *pp)) i++;

/*
если число совпавших букв равно длине самого слова,
значит, ВСЕ буквы совпали - печатаем...
*/
if(i == strlen(p)) puts(p);
}
}
return 0;
}
Гость
огромное спасибо, студия не ругается....
не мог бы ты ещё объяснить как она написана....?
Гость
и если можно за что какой массив отвечает. Спасибо заранее
Гость
хотел спросить, а что если условие было бы, что слово должно состоять из всех букв первого слова, т.е. все буквы должны обязательно встречаться как тогда следует и что именно изменить?
klem4
Такая задача решалась ТУТ

Оно ?
Гость
Да похожи, спасибо, буду знать альтернативные решения, но всё таки объясните хоть кт о- нить как выполнено это решение что за что отвечает и что делает....
volvo
Читай комментарии, я добавил...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.