0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 6
1

Frequent Words (псевдокод)

25.11.2017, 20:10. Показов 661. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Дан псевдокод, который нужно перевести на язык C++ (см. скриншот).
Помогите, пожалуйста, довести дело до конца.
Вот что есть на данный момент:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char FrequentWords(char Text[31], int k)
{char FreqPatt[20]; 
int count[50];
int maxcount=0; int n=strlen(Text); 
for (int j=0; j<n-k;j++)
{//Pattern = the k-mer Text(i,k);
count[j]=PatternCount(Text,Pattern); //PatternCount - уже написанная готовая функция
if (count[j]>maxcount) maxcount=count[j];}
for (j=0; j<n-k; j++)
{if (count[j]=maxcount) 
//add Text(i,k) to FrequentPatterns
//remove duplicates from FrequentPatterns}
return FreqPatt;}
Закомментированные строки - те, с которыми, собственно, требуется помощь. Заранее спасибо.
Миниатюры
Frequent Words (псевдокод)  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2017, 20:10
Ответы с готовыми решениями:

Как писать псевдокод ? Написал програму но не знаю как написать к ней псевдокод кто знает расскажите/покажите
#include &quot;stdafx.h&quot; #include &quot;stdlib.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include...

Search words
Здравствуйте всем. Я сделал блокнот для себя, всё прекрасно работает, кроме одной вещи - &quot;Поиска...

ActiveDocument.Words(1).Characters(3)
Привет всем! Я решаю задачу но остановился на не приятном месте и не как не решить :( надеюсь на...

Ошибка TQuery's bad words
Привет! Помогите! У меня две базы, в них есть таблицы (само сабой разумеется). Есть два...

5
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
26.11.2017, 10:06 2
Делала бы ты лучше с std::string, если не разбираешься. Как будешь возвращать результат из нескольких строк? Локальный объект возвращать нельзя.
C++
1
2
3
4
char Pattern[31];
//Pattern = the k-mer Text(i,k);
strncpy(Pattern, Text + j, k);
Pattern[k] = '\0';
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 6
26.11.2017, 12:28  [ТС] 3
Так, с этим разобралась, выводит, вроде бы, почти то, что нужно теперь. А как из FreqPatt потом удалить повторения, чтобы повторяющиеся последовательности в строке выводились по 1 разу, как в Sample Output на скриншоте?

Добавлено через 14 минут
Код, который получился на данный момент:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
std::string FrequentWords(char Text[31], int k)
{std::string FreqPatt; int count[50]; char Pattern [31]; int j;
int maxcount=0; int n=strlen(Text);
for (j=0; j<n-k;j++)
{strncpy(Pattern, Text + j, k);
Pattern[k] = '\0';
count[j]=PatternCount(Text,Pattern);
if (count[j]>maxcount) maxcount=count[j];}
for (j=0; j<n-k; j++)
{if (count[j]=maxcount)
FreqPatt=FreqPatt+Text;
}
 
return FreqPatt;}
0
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
26.11.2017, 13:54 4
FrequentPatterns - это что? Контейнер или просто строка?
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 6
26.11.2017, 15:46  [ТС] 5
Строка.
0
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,621
26.11.2017, 16:38 6
Сначала надо максимум найти.
C++
1
maxcount = *std::max_element(count, count + n - k);
Твоя схема не объясняет, что такое remove duplicates. Если делать циклами, то будет сложно.
Два цикла. i-й блок сравниваешь со всеми последующими, при совпадении удаляешь со сдвигом. Лучше переделай всё на std::string. Там проще вырезать и вставлять.
0
26.11.2017, 16:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2017, 16:38
Помогаю со студенческими работами здесь

Как убрать шаровиков из Ad Words
Вопрос. на который ищется аргументированный ответ желательно с примером без домыслов (летчиков,...

Что означает запись Selection.Words.Count?
Selection.Words.Count расшифруйте,пожалуйста,эту запись. что здесь значит words? для чего он...

Extract words containing diphthongs om and eu, solution atom and nucleus
LISP PROBLEM TEXT- The atom is a basic unit of matter that consists of a dense central nucleus...

Clojure LeetCode Online Judge: Reverse Words in a String
Определить функцию, меняющую порядок слов в предложении на обратный.

OpenCV. Классификация изображений с использованием bag-of-words методов
В общем задача заключается в обучении программы и классификация изображений на 2 класса. Обучение...

Изменить поле заполнение страницы (docx) в Xceed.Words.NET
Здравствуйте,использую библиотеку Xceed.Words.NET С# , встал на моменте,где я хочу изменить поле...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru