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

Является ли первая строка циклическим сдвигом второй строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ООП, методы http://www.cyberforum.ru/cpp-beginners/thread377325.html
Такая проблема. Пишу класс, реализующий множество целых чисел. Число k принадлежит множеству, если a=1. Вот IntegerSet.h пока недоработанный: #ifndef class_IntegerSet #define class_IntegerSet class IntegerSet { public: IntegerSet(); IntegerSet(int);
C++ Упражнение из "Философия С++" Б. Эккель т. 1. Не понимаю что имеется ввиду. #define FIELD(a) char* a##_string; int a##_size; Измените макрос FIELD(), так чтобы в нем присутствовал числовой аргумент index. Создайте класс, члены которого вызывают макрос FIELD(). Включите в класс функцию для выборки поля по индексу. Напишите функцию main() для тестирования класса. http://www.cyberforum.ru/cpp-beginners/thread377320.html
Массивы C++
Задан одномерный массив состоящий из N целых чисел. Сформировать на его основе двумерный массив N x N так, чтобы сумма элементов в первом столбце была равна первому элементу одномерного массива, сумма элементов во втором столбце была равна второму элементу одномерного массива и т. д. Нули не использовать. Из двумерного массива в одномерный записали сначала строки в произвольном порядке,...
C++ Как сделать так что бы массив выводил наоборот
Как сделать так что бы массив выводил наоборот???
C++ помогите пожалуйста с задачей http://www.cyberforum.ru/cpp-beginners/thread377291.html
Создать программу с абстрактным базовым классом и множественным наследованием,(либо иерархией классов) реализовать в нем: - конструктор, - деструктор, - виртуальную функцию просмотра текущего состояния объекта print(), - friend – функцию Run (). Производные классы должны содержать переопределенную функцию просмотра состояния объектов, а также при вводе – выводе данных использовать...
C++ Перевод из одного языка в другой. Здравствуйте, всем,нужна небольшая помощь с кодом... т.к. C++ уже почти забыт а Visual Basic не учил... С++ учил в прошлом году и больше с ним не работал, а сейчас дали задание и ничего сделать не могу... нужно перевести код из Visual Basic в Visual Studio 2005(2008) года. вот код --------Ввод коэффициентов системы-------------------------- подробнее

Показать сообщение отдельно
TwiX
59 / 59 / 1
Регистрация: 27.10.2011
Сообщений: 189
03.11.2011, 20:52     Является ли первая строка циклическим сдвигом второй строки
Вот более интеллектуальный метод Вероятно, существуют такие строки, для которых он не даст точного ответа (поэтому прога и выводит, что строки ВЕРОЯТНО являются соседними). Это что-то вроде характеристической функции, которая будет работать в разы быстрее полного алгоритма. Т.е. если надо сравнивать кучу строк, то лучше будет сначала вбивать их в мой алгоритм, а потом (если он сказал, что они похожи), то полный алгоритм.
П.с. Заведемо известно, что строки одинаковой длины - лень было проверку делать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(void)
{
    int d1=0, d2=0, ds=0;
    char s1[50], s2[50];
    cin >> s1 >> s2;
    for (int i=0, l=strlen(s1); i < l; i++)
    {
        d1+=abs((int)s1[i]-s1[(i+1)%l]);
        d2+=abs((int)s2[i]-s2[(i+1)%l]);
        ds+=s1[i]-s2[i];
 
 
    }
    if (d1!=d2||ds)
        cout << "s2 ain't shifted s1" << endl;
    else
        cout << "likely s2 is shifted s1" << endl;
    system("pause");
}
 
Текущее время: 19:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru