Помогите выполнить задание. Оно собственно следующее.... дана строка длины до 255 с пробелами. Найти все такие слова которые составлены из тех же букв что и первое, т.е. буквы должны быть темеже, но встречаться могут чаще одного раза, а также в счёт регистр, т.е. заглавная буква или нет - они считаются разными МАМА МАМАМААА - второе слово нас устривает, т.к. состоит из тех же букв..... а вот если скажем а - маленькое, то не одно и тоже... Писать на С, компилятор Visual Studio
volvo
30.10.2006 21:43
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; }
Гость
30.10.2006 22:35
огромное спасибо, студия не ругается.... не мог бы ты ещё объяснить как она написана....?
Гость
30.10.2006 23:04
и если можно за что какой массив отвечает. Спасибо заранее
Гость
30.10.2006 23:08
хотел спросить, а что если условие было бы, что слово должно состоять из всех букв первого слова, т.е. все буквы должны обязательно встречаться как тогда следует и что именно изменить?
Да похожи, спасибо, буду знать альтернативные решения, но всё таки объясните хоть кт о- нить как выполнено это решение что за что отвечает и что делает....
volvo
31.10.2006 0:56
Читай комментарии, я добавил...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.