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

Найти количество вхождений одного списка в другой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функциий system http://www.cyberforum.ru/cpp-beginners/thread641992.html
Доброго времени суток. Прошу Вас помочь мне решить одну проблему: Мне требуется создать 50 папок с именами от 1 до 50 включительно. Вот мой код:#include <stdlib.h> #include <conio.h> using namespace std; int main() { system("color A"); for (int i=1; i<=50; i++) {
C++ Двумерный динамический массив, что и с чем есть? собственно как сделать Двумерный динамический массив. и как можно проверить его работу? http://www.cyberforum.ru/cpp-beginners/thread641983.html
C++ HelloWorld
Решил освоить С++. Но первый же пример из книги Харви М. Дейтел, Пол Дж. Дейтел "Как программировать на C++ (2008)" отказался работать в VS 2010.Кроме того VS сообщила, что код устарел. #include <iostream> int main() { std::cout << "Wellcome to C++! \n";
вычислить с заданной точностью значение функции C++
вот такая задачка...
C++ Функция не правильно работает http://www.cyberforum.ru/cpp-beginners/thread641926.html
Условие задачи: В массиве A(N) поменяйте местами наибольший и наименьший элементы. Код: #include <iostream> using namespace std; int maxi, mini, temp; int change(int *a, int size)
C++ Получить список модулей указанного процесса Доброго времени суток. Возникла проблема с получением списка модулей процесса. Пытаюсь получить так: BOOL ListProcessModules(DWORD dwPID) { HANDLE hModuleSnap = INVALID_HANDLE_VALUE; MODULEENTRY32 me32; hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID); if(hModuleSnap == INVALID_HANDLE_VALUE) подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
24.08.2012, 16:06     Найти количество вхождений одного списка в другой
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <math.h>
 
long hash(char* str, int base, int pos, int len)
{
    long result = 0; int r = len-1;
    for (int i = pos; i < i + len && len >= 0; i++)
        result+=str[i] * pow((double)base, len--);
 
    return result;
}
 
int main()
{
    char str1[256] = "big brown fox jumps over jumps lazy jumps dog";
    char str2[256] = "jumps";
 
    printf("str1 = %s\nstr2 = %s\n\n",str1,str2);
 
    int* pv = new int[strlen(str1)];
    long hsub = hash(str2,2,0,strlen(str2));
    for (int i = 0, n = 0; str1[i] != '\0'; i++)
        if (hash(str1,2,i,strlen(str2)) == hsub)
        {
            bool found = true;
            for (int k = 0, q = i; str2[k] != '\0' && found; k++)
                if (str1[q++] != str2[k]) found = false;
 
            if (found) pv[n++] = i;
        }
 
    for (int d = 0; pv[d] > 0; d++)
        printf("found at = %d\n",pv[d]);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/833671...dc18b050a5fd27
 
Текущее время: 06:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru