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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Прокомментируйте программу http://www.cyberforum.ru/cpp-beginners/thread1311998.html
char t, p; int fl; void pre () { fl = fl = 0; for (i = 2; i<n; i++) { fl = fl; while(fl && p] != p) fl = fl];
C++ Преобразовать массив так, чтобы вначале шли отрицательные элементы, а потом положительные ГЛАВНОЕ!!! порядок отрицательных прежний , а положительных обратный http://www.cyberforum.ru/cpp-beginners/thread1311994.html
C++ Задача для С++
В одномерном массиве, состоящем из n целых элементов, вычислить: 1.) минимальный по модулю элемент массива; 2.) сумму модулей элементов массива, расположенных после первого элемента, равного нулю. Преобразовать массив таким образом, что бы в первой
C++ Завершение компиляции с выдачей сообщения
Нужно после какого-то if'a завершать программу и выдавать сообщение, которое я захочу сам. Return, goto и т.д. не подходят) Слышал, что есть препроцессор error, но нормальных примеров не нашел. Если его можно так использовать, то покажите пример, пожалуйста. (программа консольная)
C++ Обработка строк http://www.cyberforum.ru/cpp-beginners/thread1311979.html
Есть задание: Написать консольное приложение, реализующее полученный вариант задания, используя конструкции и соответствующие функции стандартной библиотеки языка С. Ввести с клавиатуры символьную строку длиной не более 80 символов, рассматриваемую как произвольное абстрактное предложение, состоящее из слов. Слова отделяются друг от друга как минимум одним символом пробела. Строка должна быть...
C++ Сохранить все нулевые элементы, расположенные в верхней части матрицы Разработать способ экономного хранения в памяти разреженных матриц ( таблиц ) , разработать процедуры и функции для обеспечения доступа (чтение - запись) к элементам матрици- . . В контрольном примере обеспечить чтение и запись всех элементов матрицы . Задача Сохранить все нулевые элементы , расположенные в верхней части матрицы. Помогите очень прошу;D Никак не пойму как делать) подробнее

Показать сообщение отдельно
proga91
0 / 0 / 0
Регистрация: 07.11.2014
Сообщений: 29
26.11.2014, 21:21     Прокомментируйте программу, пожалуйста
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;
}
или напишите примерный алгортм
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru