Форум программистов, компьютерный форум 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++ замена отрицательных чисел Добрый вечер! Пожалуйста помогите с задачей: во входном файле лежит строка, состоящая из букв, чисел и символов. Ее нужно прочесть и там где в строке начинается число, считать его и проверить положительное оно или отрицательное (отрицательным оно будет считаться если перед ним без проблов стоит '-', если с пробелом стоит '-', то значит это просто тире). Нужно, чтобы программа в выходной файл... подробнее

Показать сообщение отдельно
kzru_hunter
 Аватар для kzru_hunter
1084 / 759 / 58
Регистрация: 01.02.2011
Сообщений: 1,771
Записей в блоге: 1
21.12.2011, 16:32     Префикс-функция
вообще, достаточно вот тут среди всего бреда, который мало кто поймет, взглянуть вот на это, и всё станет понятно:
Например, для строки 'abcdabscabcdabia' префикс-функция будет такой: π(abcdabscabcdabia)='0000120012345601'.
вычисление будет таким:
'a'!='b' => π=0;
'a'!='c' => π=0;
'a'!='d' => π=0;
'a'=='a' => π=π+1=1;
'b'=='b' => π=π+1=2;
'c'!='s' => π=0;
'a'!='c' => π=0;
'a'=='a' => π=π+1=1;
'b'=='b' => π=π+1=2;
'c'=='c' => π=π+1=3;
'd'=='d' => π=π+1=4;
'a'=='a' => π=π+1=5;
'b'=='b' => π=π+1=6;
's'!='i' => π=0;
'a'=='a' => π=π+1=1;
Добавлено через 42 минуты
Был не прав насчет кода, строку на википедии не совсем удачную выбрали, из-за чего неправильно понял алгоритм. В этой строке 'aabaaab' как раз учитывается тот момент, про который ругался в предыдущем посте. Для этой строки префикс-функция равна: [0,1,0,1,2,2,3] (смутить может предпоследняя цифра).

Добавлено через 1 час 5 минут
Dani предыдущий пост не воспринимай серьезно, там я неправильно написал да и код тоже неправильный из-за того, что не полностью понял алгоритм (кое какой момент смутил, как раз в том посте и ругался из-за него).
Вообщем, возьми строку "aabaaab", про которую писал выше и попробуй понять, как получить из неё префикс-функцию [0,1,0,1,2,2,3].
 
Текущее время: 05:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru