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

Поиск подстроки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переставить байты исходного файла в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread1201120.html
7. По заданному двоичному файлу с произвольным содержанием создать новый двоичный файл, у которого байты переставлены в обратном порядке. Вывести содержимое исходного и итогового файлов на экран.
C++ Изменение значения указателя Здравствуйте В коде приведена функция, которая при помощи указателей считывает размер массива и его элементы из файла блокнота. Почему значение, хранящееся в массиве после выполнения цикла самопроизвольно меняется? функция мэйн #include <iostream> #include <stdlib.h> #include <windows.h> http://www.cyberforum.ru/cpp-beginners/thread1201114.html
C++ Рекурсивная функция, выводящая на экран все целые числа от N до K, N<K
рекурсивная функция, выводящая на экран все целые числа от N до K, N<K
C++ Написать рекурсивную функцию, выводящую на экран все целые числа в определенном интервале
рекурсивная функция, выводящая на экран все целые числа от N до K, N<K
C++ Можно ли обратиться к 3 элементу массива ? http://www.cyberforum.ru/cpp-beginners/thread1201086.html
Если у нас есть int *x, y = { 1,2,3,4,5 }, можно ли обратиться к 3 элементу массива вот так? x=y; *(x+2) Думаю, что нет, так как не взят адрес x=&y А что вобще произойдет при таком условии? x=y
C++ Перед указанным элементом массива вставить новый элемент Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элемен- том массива с порядковым номером K вставить новый элемент с нулевым значением. подробнее

Показать сообщение отдельно
Sh@dow777
11 / 11 / 3
Регистрация: 10.12.2013
Сообщений: 645
15.06.2014, 17:51  [ТС]     Поиск подстроки
alsav22,
Цитата Сообщение от alsav22 Посмотреть сообщение
К пустому вектору нельзя по индексу обращаться.
Как это понять? Объясните, пожалуйста, если вам не трудно.
Попробовал так.
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
#include <iostream>
#include <vector>
#include <string>
#include <conio.h>
using namespace std;
 
int n;
string a;
string b;
string s;
 
vector<int>prefix(string s)
{
    s = b + '#' + a;
 
    int n = (int) s.length();
    vector<int> pi (n);
    for (int i=1; i<n; ++i) {
        int j = pi[i-1];
        while (j > 0 && s[i] != s[j])
            j = pi[j-1];
        if (s[i] == s[j]) 
            ++j;
        pi[i] = j;
    }
    return pi;
}
 
int main()
{
    int k, l;
    vector<int>pi(n);
 
    k = a.length();
    l = b.length();
 
    getline(cin,a);
    getline(cin,b);
 
    for(int i = l;i < l+k+1;i++){
        if(pi[i] == l)
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
    }
 
    getch();
 
    return 0;
}
Все та же ошибка.
 
Текущее время: 14:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru