Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
proga91
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 29
#1

Прокомментируйте программу, пожалуйста - C++

26.11.2014, 21:21. Просмотров 118. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
char t[500005], p[250005];
int fl[500005];
 
void pre () {
    fl[0] = fl[1] = 0;
    for (i = 2; i<n; i++) 
    {
        fl[i] = fl[i-1]; 
        while(fl[i] && p[fl[i]] != p[i-1])
            fl[i] = fl[fl[i]];
        if (p[fl[i]] == p[i-1]) 
            fl[i]++;
    }
    if (p[fl[i]] == p[i-1]) 
        fl[i]++;
}
 
int match () {
    for (int j = 0, cp = 0; j<2*n; j++) {
        while(cp && p[cp] != t[j])
            cp = fl[cp];
        if (p[cp] == t[j] && ++cp == i) {
            cp = fl[i];
            return j + 1 - i;
        }
    }
    return -1;
}
int main()
{
    scanf_s("%d",&n);
    getchar();
    gets_s(p);
    gets_s(t);
    strncpy(t+n,t,n);
    pre ();
    printf ("%d\n", match ());
    system("pause");
    return 0;
}
или напишите примерный алгортм
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 21:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прокомментируйте программу, пожалуйста (C++):

Уважаемые программисты прокомментируйте программу пожалуйста - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; class Budilnik { private: int hour, min, sec; public: void...

прокомментируйте пожалуйста программу на языке С++ на двоичные файлы если можно подробно - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main () { ofstream out (&quot;f.dat&quot;, ios::binary); int n; ...

Прокомментируйте пожалуйста - C++
Не до конца понимаю код программы. Прошу дать комментарии к коду. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;math.h&gt; using...

Прокомментируйте пожалуйста - C++
#include &quot;iostream&quot; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; void Yacoby(int** m, int* s, int it); int...

Прокомментируйте пожалуйста код - C++
Объясните пожалуйста как работает данный кусок кода: template &lt;typename T&gt; Deque &lt;T&gt; Deque&lt;T&gt;::operator + (const Deque&lt;T&gt; &amp;L){ ...

Прокомментируйте пожалуйста прогу - C++
#include &quot;iostream&quot; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; float f2(float x){ return x+3; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 21:21
Привет! Вот еще темы с ответами:

Прокомментируйте код пожалуйста - C++
#include&lt;iostream.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;graphics.h&gt; class Point { int X,Y; public: ...

Прокомментируйте, пожалуйста рекурсию - C++
Нашел в сети код прохождения доски шахм. конем. разобраться не очень получилось, помогите пожалуйста!void chessknight(int k) { c++; ...

Прокомментируйте, пожалуйста, код программы. - C++
Доброго дня всем! Перед Вами - 2 программы - 1 шифрует текст методом гаммирования, вторая - генератор простых чисел. Если не трудно -...

Прокомментируйте,пожалуйста, участки программы - C++
Здравствуйте! Кому не сложно, помогите, пожалуйста, прояснить некоторые части программы. Суть программы заключается в следующем -...


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

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

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