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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Serj123
1 / 1 / 0
Регистрация: 30.05.2014
Сообщений: 49
#1

Избавиться от вложенности - C++

19.06.2014, 23:23. Просмотров 245. Ответов 1
Метки нет (Все метки)

как можно избавиться от вложенности

C++
1
2
3
4
5
6
7
8
9
10
11
12
while (*str != 0 && NecessaryWord != 0)
    {
        back_pos = str;
 
        while (*back_pos++ == *NecessaryWord++)
        {
            if (*NecessaryWord == 0)
                return (char*)str;
        }
        ++str;
        NecessaryWord = bp;
    }
Добавлено через 2 часа 50 минут
?????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 23:23     Избавиться от вложенности
Посмотрите здесь:

Избавиться от вложенности циклов - C++
Срочно!!!!! Помогите избавиться от вложенности? char *SearchSuggestionsWithCommas(char *fileName) { char* buffer = new char; ...

Проверить правильность расстановки и вложенности скобок в тексте (абстрактный стек) - C++
реализовать с помощью связного списка...

Ошибка при использовании нескольких переменных с одним именем в разных уровнях вложенности циклов for - C++
Почему когда создаешь цикл фор по 2 раза и больше раз,и объявляешь там одну и ту же переменную(с одним названием),то не выдаёт ошибку?

Избавиться от goto. - C++
Нашла в интернете одну очень интересную реализацию меню, но там есть goto. по идее от него можно избавиться применением циклов, но у меня...

Избавиться от рекурсии - C++
Каким способом лучше всего избавиться от рекурсии ?

Избавиться от Framework? - C++
Как избавиться от фрэймворка в Microsoft Visual Studio 2008 хотелось бы не использовать его вообще, а не только версию 2.0 ?

Как избавиться от dynamic_cast? - C++
Ребят, у меня проблема такая! Не могу никак записать изменение в файл зависает, да и почему то по два раза выдает некоторые вещи да еще и...

Избавиться от cin.ignore() - C++
Приветствую всех! Написал простенькую программку для работы с классами. #include "stdafx.h" #include <iostream> using std::cout;...

Как избавиться от округления - C++
Доброго времени суток. У меня следующая проблема. pp = 0.1534886 + 151.5235 - 0.15668835467; pp имеет тип double, но в качестве...

Как избавиться от предупреждения? - C++
char Number; double Result = atof(Number); Result=(-1)*Result; _itoa(Result,Number,10); SetWindowText(Edit,Number); ...

Как избавиться от ошибок?!?!?! - C++
При компиляции выдает кучу ошибок ,как это исправить?!?!?! #include<iostream> #include<clocale> #include<stdio.h> using...

Избавиться от временной перемнной - C++
struct tParamStruct { int unsigned* WindowHandle; // Handle of workWindow int unsigned* WindowPID; // pid of process of workWindow ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1853 / 1271 / 290
Регистрация: 05.06.2014
Сообщений: 3,627
20.06.2014, 02:47     Избавиться от вложенности #2
как можно избавиться от вложенности
Алгоритмом Бойера-Мура. Общая суть всех таких алгоритмов: предположим что NecessaryWord равно "арбуз". Предположим также что первые четыре буквы str те же самые - "арбу". А вот пятая - не "з". Тогда можно заранее сказать что на позиции str+1 находится буква "р" и никаких арбузов там не будет. И даже на позиции str+3 арбузов не будет. Самое ранее - арбузы появятся на str+4. Вот теперь это "самое раннее" хомячится в табличку и используется при поиске (хотя, Бойер-Мур сравнивает справа налево, но да не суть).
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru