С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 16.12.2018
Сообщений: 65
1

Объяснить что такое(логические действия)

15.12.2021, 01:10. Показов 709. Ответов 1

Author24 — интернет-сервис помощи студентам
Что делают и что значат эти строки? Сверху я понял что если а больше б, то выведет а, иначе б. Но зачем это нужно?(Алгоритм БМ)
C++
1
2
3
4
int max(int a, int b)
{
return (a > b) ? a : b;
}
C++
1
2
s += (s + m < n) ? m - badchar[txt[s + m]] : 1; }
        else s += max(1, j - badchar[txt[s + j]]); }
Сама программа:

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
# include <limits.h>
# include <string.h>
# include <stdio.h>
#include <cstring>
#include <cstdlib>
# define NO_OF_CHARS 256
int max(int a, int b)
{
return (a > b) ? a : b; //если а больше б, то выведет а, иначе б
}
void badCharHeuristic(char* str, int size, int badchar[NO_OF_CHARS]) {
int i;
    for (i = 0; i < NO_OF_CHARS; i++)
    badchar[i] = -1;
        for (i = 0; i < size; i++)
        badchar[(int)str[i]] = i;}
void search(char* txt, char* pat) {
int m = strlen(pat);
int n = strlen(txt);
int badchar[NO_OF_CHARS];
badCharHeuristic(pat, m, badchar);
int s = 0;  //s как i(номер верхнего порядка)
    while (s <= (n - m)) {
    int j = m - 1;
        while (j >= 0 && pat[j] == txt[s + j])
        j--;
        if (j < 0) {
        printf("Pattern found at = %d", s);
        s += (s + m < n) ? m - badchar[txt[s + m]] : 1; }
        else s += max(1, j - badchar[txt[s + j]]); }
}
int main() {
char txt[] = "ABCABCAABCABD";
char pat[] = "ABCABD";
search(txt, pat);
return 0; }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2021, 01:10
Ответы с готовыми решениями:

что такое Поразрядные логические операции C++
Поразрядные логические операции C++?

Объяснить что такое for auto
#include &lt;iostream&gt; using namespace std; int main() { int a; //ввожу переменную a ...

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы
Заранее спасибо.

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном из cpp файлов(их...

Объяснить от чего зависит размер указателя и что такое арифметика указателей
Уважаемые программисты, возник вопрос. По умолчанию указатель любого типа может иметь только 4...

1
Эксперт .NET
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
15.12.2021, 06:57 2
Цитата Сообщение от paranaza Посмотреть сообщение
Что делают и что значат эти строки?
Тернарная операция.
0
15.12.2021, 06:57
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2021, 06:57
Помогаю со студенческими работами здесь

Можете мне обЪяснить что такое хэш таблицы и как все это устроено?
Допустим у нас есть такой пример: int main(){ HashTable&lt;std::string, int&gt; table; ...

Что такое логические процессоры и какие их преимущество?
Что такое логические процессоры и какие их преимущество, и какие есть AMD процессоры с логическими...

Что такое логические операции (желательно объяснение на примере)
Оператор Значение &amp; И | ИЛИ ^ Исключающее ИЛИ &amp;&amp; Укороченное И || Укороченное ИЛИ ! НЕ...

Кто сможет объяснить что означает в этом коде 0x55555, что это такое, для чего предназначено?
#include &quot;stdafx.h&quot; #pragma warning(disable : 4996) #include &lt;stdio.h&gt; #include &lt;conio.h&gt;...

Кто может объяснить что такое CLR?
Что вообще делает CLR? читала но как то не особо поняла:-|

Объяснить, что такое Дивергенция узла сети
В вопросах на экзамен есть вопрос про дивергенцию узла сети, но ни в лекциях, ни в интернете я не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru