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

Зацикливание в алгоритме Хорспула - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Цикл не циклиться http://www.cyberforum.ru/cpp-beginners/thread1016638.html
Есть условие, согласно какому, есть функция: y=12.4*sin(abs(x))/2.1-8*cos(1.2*x) и нужно узнать все значения у для х от 0 до 2 с шагом 0.1, вывести значения х и у в таблице, если в этом диапазоне выпадает y<0 то вычислить их произведение, если y>0 то вычислить их сумму. Вот мой код, но что-то не так, так-как ни какого значения ни сумму, ни произведение, ни таблица переменных х и у не выводиться,...
C++ запись в файл с++ Здравствуйте,подскажите пожалуйста ,почему у меня данные введенные с консоли не записываются в файл? FILE* f; f=fopen("list.txt","a"); setlocale(0,"rus"); char str; int c,q,x=0, j=0; char z; while (1) { http://www.cyberforum.ru/cpp-beginners/thread1016633.html
error C2061: синтаксическая ошибка: идентификатор "x" C++
// Laboratornaa.cpp: определяет точку входа для консольного приложения. // #include"stdafx.h" #include<iostream> #include<math.h> #include<fstream> #include<iomanip> using namespace std; double fu(double x1,double y1)
C++ Создание и обработка сбалансированного дерева
Имеется программа: #include "stdafx.h" #include "windows.h" #include "stdio.h" #include "conio.h" #include "math.h" struct tree //дерево как структура {
C++ Наибольший общий делитель НОД по алгоритму Евклида http://www.cyberforum.ru/cpp-beginners/thread1016616.html
Написать программу вычисления наибольшего общего делителя НОД по алгоритму Евклида: если a> b, то Evk (b, остаток от деления a на b) и так до остатка 0. Пример: Evk (30,21) -> Evk (21,9) -> Evk (9,3) -> Evk (3,0) -> наибольший общий делитель равен НОД = 3.
C++ Получить числа Армстронга Натуральное число с n цифр является числом Армстронга, если сумма его цифр, возведенных в n-й степени, равен самому числу. Получить все числа Армстронга, принадлежащих заданному интервалу двузначных цифр. подробнее

Показать сообщение отдельно
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
23.11.2013, 20:36     Зацикливание в алгоритме Хорспула
есть функция для поиска подстроки в строке по алгоритму Хорпсула
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
int searchHorps(char *string,char *substr) {
 
    int sl = strlen(string);
    int ssl = strlen(substr);
    int slide[256];
 
    for(int i = 0; i < 256; ++i) slide[i] = ssl;
    for(int l = 0; l < ssl; ++l) slide[substr[l]] = ssl - l - 1;
 
    int k = 0;
 
    while(k < sl - ssl + 1) {
 
    for(int i = 0; i < ssl; i++) {
        if(string[k+i]!=substr[i])
        break;
        if( i == ssl-1)
        return k + 1;
    }
 
        k += slide[string[k+ssl-1]];
    }
    return -1;
}
проблема в том что работает она через раз (возможно зависит от текста)
зацикливание происходит из-за того, что здесь не изменяется условие
k += slide[string[k+ssl-1]];
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru