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

Поиск - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Текстовый режим и мигающий текст http://www.cyberforum.ru/cpp-beginners/thread995438.html
В коем то веке понадобилось продемонстрировать работу в текстовом режиме для лабораторной в университете, кто изучал с++ ещё в 90х небось в курсе как это делается, подскажите пожалуйста. Заставить мигать текст пытаюсь через борланд с++ установленный в DOS. Вызовы textMode из graphics.h визуально ничего не меняют textmode(BW40); cprintf("ABC"); getch(); textmode(C40); ...
C++ Команда Make Какой путь указать для этой команды? http://www.cyberforum.ru/cpp-beginners/thread995430.html
Ошибка C++
#include <cmath> using namespace std; int main() { double a, b, r, s; cout << "Enter a, b: "; cin >> a >> b;
Дан массив натуральных чисел. Найти сумму элементов, кратных данному K C++
Дан массив натуральных чисел. Найти сумму элементов, кратных данному K #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<time.h> int main() {int sum=0, i, a, m, K; srand(time(0)); puts ("vvedite K"); scanf("%d", &K);
C++ Вводится строка. Каких букв в строке больше 'а' или 'в' http://www.cyberforum.ru/cpp-beginners/thread995420.html
Вводится строка. Каких букв в строке больше 'а' или 'в'? народ прошу помогите плз
C++ Операторы условного перехода и выбора Задача Найти сумму первых 100 натуральных четных чисел и их количество. подробнее

Показать сообщение отдельно
Only_Loko
 Аватар для Only_Loko
10 / 10 / 0
Регистрация: 20.09.2013
Сообщений: 22
02.11.2013, 14:44     Поиск
Здравствуйте! Возникла проблема при поиске слова(поиск интерполяционный). Проблема заключается в том что нельзя вычитать, умножать объекты string(и понятное дело). Вот код:
C++ (Qt)
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 <iostream>
#include <string>
 
using namespace std;
 
int main()
{ 
....
 string* a = new string[k];
....  //считывание слов
 
int low = 0;
int high = arraySize - 1;
int mid;
//цикл интерполирующего поиска
while (a[low] < keyOfSearch && a[high] >= keyOfSearch) // keyOfSearch - само слово класса string. 
//a - это массив из  string(string *a=new string[arraySize] )
{
    mid = low + ((keyOfSearch - a[low]) * (high - low)) / (a[high] - a[low]);
   //если значение в ячейке с индексом mid меньше, то смещаем нижнюю границу
   if (a[mid] < keyOfSearch)
   low = mid + 1;
   //в случае, если значение больше, то смещаем верхнюю границу
   else if (a[mid] > keyOfSearch)
   high = mid - 1;
   //если равны, то возвращаем индекс
   else
   return mid;
}
 
   //если цикл while не вернул индекс искомого значения,
   //то проверяем не находится ли оно в ячейке массива с индексом low,
   //иначе возвращаем -1 (значение не найдено)
   if (a[low] == keyOfSearch)
   return low;
 
   else 
 
   return -1;
}
Пожалуйста, помогите обойти эту проблему
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru