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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввод только одной цифры (dev C++), не Builder! http://www.cyberforum.ru/cpp-beginners/thread889383.html
Помогите пожалуйста! Нужна часть кода..Что-бы запретить ввод букв и символов,и запретить написание цифры более 1-ой... Вот часть кода: cout << "Ваш выбор: "; cin >> m1; Имеенно здесь ввести запрет..
C++ Графическая библиотека С++ Как подключить граф. библ. в с++, если #include <graphics.h> не работает (в '' тоже) Помогите, очень надо) http://www.cyberforum.ru/cpp-beginners/thread889382.html
C++ Вывести ориентацию локатора после выполнения команд
Всем привет! Есть задачки которые нужно сделать в C++: 2) CASE11: Локатор ориентирован на одну из сторон света ("С" - север, "З" - запад, "Ю" - юг, "В" - восток) и может принимать три цифровые команды поворота: 1 - поворот налево, -1 - поворот направо, 2 - поворот на 180 градусов. Дан символ C - исходная ориентация локатора и целые числа N1 и N2 - две посланные команды. Вывести ориентацию...
Как найти сумму ряда с точностью C++
Найти сумму ряда с точностью до члена ряда <eps(Заданной с клавиатуры) и сравнить с ф-ей контроля: ряд 1+x/1!+x^2/2!+...+x^n/n! ф-я контроля e^x Мне хотя бы алгоритм.
C++ графические библиотеки http://www.cyberforum.ru/cpp-beginners/thread889371.html
Хочу познакомиться в парочкой популярных и хороших библиотек. Поверхностно знаком с opengl. Кстати мне очень она понравилась, довольно многофункциональна. Моя работа с графикой ограничивается геометрией(2д,3д). Нет необходимости грузить модели,натягивать текстуры и т.д. Нужны только базовые инструменты. Посоветуйте!
C++ Если значения A и B не равны, то присвоить каждой переменной большее из этих значений... Всем привет! Есть задачки которые нужно сделать в C++: 1) IF11: Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B. #include <iostream> using namespace std; int a; int b; cin>>a; подробнее

Показать сообщение отдельно
Eugene111
Сообщений: n/a
03.06.2013, 17:37     Префикс функция
В чем ошибка: для работы со строками префикс-функция работает а для целочисленного массива выдает не верный ответ. Помогите разобраться.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <stdio.h>
 
const int m =100;
int A[m +1]; // [(0)1..n+1]
int pA[m +1];
 
int n;
 
const __int8 LenBuf =100;
int kmp_z[LenBuf];
 
void print(int* v, int l, int r)
{
 int i;
   printf("%d ", v[l]);
   for(i =l+1; i < r; i++)
     printf("%d ", v[i]);
   printf("%d\n", v[i]);
};
 
void prefix_kmp() 
{
 int i, j; 
 
   i =0; 
   j =pA[0] =-1; 
 
   while( i < n ) 
   {
       while(j > -1 && A[i] != A[j])
           j =pA[j]; 
       i++; 
       j++; 
       if(A[i] == A[j])
        pA[i] =pA[j]; 
       else 
          pA[i] =j; 
   }
}
void prefix_kmp_1(char *x, int m) 
{
 int i, j; 
 
   i =0; 
   j =kmp_z[0] =-1; 
 
   while( i < m ) 
   {
       while(j > -1 && x[i] != x[j])
           j =kmp_z[j]; 
       i++; 
       j++; 
       if(x[i] == x[j])
        kmp_z[i] =kmp_z[j]; 
       else 
          kmp_z[i] =j; 
   }
}
 
int main()
{
 int k, res;
 
  freopen("input.txt", "r", stdin);
// 13, 5 3 1 3 5 2 5 3 1 3 5 2 5 input.txt
  freopen("output.txt", "w", stdout);
 
  scanf("%d", &n);
 
  for(k =1; k <= n ; k++)
    scanf("%d", &A[k]);
 
  print(A, 1, n);
  prefix_kmp();
  print(pA, 1, n);
 
  prefix_kmp_1("ecacebecacebe", 13); 
  printf("\n");
  for(k =1; k < 13; k++)
    printf("%d ", kmp_z[k]);
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru