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

Префикс-функция - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не работает getline http://www.cyberforum.ru/cpp-beginners/thread409875.html
Есть код (писал не я), но не могу понять, почему getline() игнорируется в строке 72. Сначала не работало в функции класса, потом решил сделать так, как в этом коде, но без толку... #include <C:\main.h> class School { string name; int number; int stage; int amounts_students; int budget;
C++ Простейший код Нужно написать код который будет менять местами цифры то есть изначально такой порядок int m={1,4,3,6,2} а на выходе обратный порядок 2 6 3 4 1 помогите написать такой код Добавлено через 3 минуты дайти идеи как это сделать http://www.cyberforum.ru/cpp-beginners/thread409871.html
Ошибка E2040 C++
#include <iostream> using namespace std; class Masiv{ public: int i,x; static int arr; void Zapol1(){ }
Подскажите как с паскаля перевести в С?За ранее спасибо C++
uses crt; var x:array of real; i,j,n,ind:integer; pr,max:real; begin randomize; clrscr; writeln('Введите размерность массива* <= 10'); readln(n); for i:=1 to n do begin for j:=1 to n do
C++ Упорядочить строки матрицы http://www.cyberforum.ru/cpp-beginners/thread409862.html
Вводиться целая матрица размером NxM. Как упорядочить строки матрицы по не убыванию значений первых элементов строк?
C++ замена отрицательных чисел Добрый вечер! Пожалуйста помогите с задачей: во входном файле лежит строка, состоящая из букв, чисел и символов. Ее нужно прочесть и там где в строке начинается число, считать его и проверить положительное оно или отрицательное (отрицательным оно будет считаться если перед ним без проблов стоит '-', если с пробелом стоит '-', то значит это просто тире). Нужно, чтобы программа в выходной файл... подробнее

Показать сообщение отдельно
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
17.12.2011, 19:20     Префикс-функция
Возникла ситуация:
где бы я не читал разбор, немного непотно, как работает префикс-функция? Объясните, а что не пойму, попрошу изложить детальнее.

код префикс-функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vector<int> compute_prefix_function(const string& s) {
        int len = s.length();
        vector<int> p(len); // значения префикс-функции
                          // индекс вектора соответствует номеру последнего символа аргумента
        p[0] = 0; // для префикса из нуля и одного символа функция равна нулю
 
        int k = 0;
        for(int i = 1; i < len; i++) {               
                while ( (k > 0) && (s[k] != s[i]) ) 
                        k = p[k-1]; 
                if (s[k] == s[i])
                        k++;
                p[i] = k;
        }
        return p;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru