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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2010, 12:18   #1
delphi_HOBu4oK
 
Регистрация: 23.08.2007
Сообщений: 4
По умолчанию Язык С : Найти наиболее часто встречаемое слово в строке

Задание:Найти наиболее часто встречаемое слово в строке. Сделал программу , указатель ptd переходит на следующую лексему только 2 раза .
Код:
#include <stdio.h>
#include <string.h>
#define X 250

int main () {
char *m1, *m2,*m3, *ptd,*ptd2,*hold,*hold2,*ptdhold ;
int i=0,max=0;

ptd=(char*) malloc(20*sizeof(char));
ptd2=(char*) malloc(20*sizeof(char));
ptdhold=(char*) malloc(20*sizeof(char));
hold=(char*) malloc(20*sizeof(char));
hold2=(char*) malloc(20*sizeof(char));
m1=(char*) malloc(X*sizeof(char));
m2=(char*) malloc(X*sizeof(char));
m3=(char*) malloc(X*sizeof(char));
puts("Введите строку");
gets(m1);
strcpy(m2,m1);
strcpy(m3,m2);
ptd=strtok(m1," ");
while(ptd!=NULL)
{
strcpy(ptdhold,ptd);
ptd=strtok(NULL," ");
ptd2=strtok(m2," ");
while(ptd2!=NULL)
{
if(strcmp(ptd2,ptdhold)==0)
{
i++;
strcpy(hold,ptd2);
}

if(i>=max)
{
max=i;
strcpy(hold2,hold);
}

ptd2=strtok(NULL , " " );

}
i=0;
strcpy(m2,m3);

}
puts("Наиболее часто встречаемое слово в строке было : ");
puts(hold2);
return 0;
}
По началу делал без ptdhold, по сути оно ничего и не изменило ;
вот пример выполнения программы :
Введите строку
a b b
Наиболее часто встречаемое слово в строке было :
b

вот другой пример :
Введите строку
a b c c
Наиболее часто встречаемое слово в строке было :
b
Как видно оно посчитало кол-во совпадений с а , потом с b . Далее , как я понял, ptd стало NULL и цикл оборвался
Срочно! плз помогите.. оч нада

Последний раз редактировалось delphi_HOBu4oK; 15.05.2010 в 12:23.
delphi_HOBu4oK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си. Ввести строку символов. Найти букву, наиболее часто встречающуюся в тексте. ClassicV Общие вопросы C/C++ 8 05.03.2016 22:39
Delphi. Вывести наиболее часто повторяющуюся цифру из строки символов Kurai Помощь студентам 1 27.04.2010 23:04
Pascal: Наиболее часто встречающееся число в массиве. MaGWaY_minsk Помощь студентам 2 20.01.2010 00:22
Нахождение наиболее часто встречающегося элемента Sun :) Помощь студентам 2 30.09.2009 23:01
Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов sk1p Паскаль, Turbo Pascal, PascalABC.NET 2 26.09.2008 23:57