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

Бинарный поиск - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять в строке слова http://www.cyberforum.ru/cpp-beginners/thread223603.html
Нужно поменять в каждой строке массива строк первое слово с последним В результате вышел такой код. #include <iostream> #include <conio.h> #include <string.h> #include <math.h> using namespace std;
C++ Вычисление собственных значений и собственных векторов матрицы Доброго времени суток всем. Собственно написал программу, реализует степенной метод. Проблема в округлении. 1 итерация- вычисление начального вектора. 2 итерация тоже идет нормально, но потом получаются значения l=7.03 l0=7.25. по идее е=0.22, но почему то дробная часть отбрасывается и е получается равным 0-> программа заканчивает вычисления. Вот код #include<stdio.h> #include<math.h> ... http://www.cyberforum.ru/cpp-beginners/thread223587.html
Структуры C++
Была структура 1)Название Танка 2)Год выпуска 3)Калибр 4)Скорость Вывести на экран с годом выпуска 1940-1950, с калибром больше 50 #include <iostream.h> #include <conio.h> #include <string.h>
C++ Массив из символов
Здравствуйте. Программа, по задумке, должна выводить массив из символов, а вместо этого выводит лишь цифру 9. Помогите разобраться чём кроется ошибка. //CharDisplay - âûâîäèò íà ýêðàí ñèìâîëüíûé ìàññèâ // â îêíå MS Dos #include <iostream> #include <conio.h> using namespace std; // îáúÿâëåíèå ïðîòîòèïîâ void displayCharArray(char stringArray, int sizeOfloatArray);
C++ Перевод проекта С -> C++ http://www.cyberforum.ru/cpp-beginners/thread223578.html
Привет форумчане. Может кто знает как правильно перевести проект С->C++ Был пример на С. Я его переделал обернул в dll, все работает, все нормально. Нужно мне было передавать строку в С# программу. Сделал как wchar_t*. В С# принял в byte ErrMess = new byte; // и преобразовал string mess = Encoding.Unicode.GetString(ErrMess).Trim('\0'); .Захотел применить вывод сообщения как в С++
C++ Глюки с <time.h> Я написал программу, считающую сумму всех простых чисел в диапазоне от 1000000 до 2000000, деленную по модулю на число 23 и получил результат : 17 , потом мне захотелось посмотреть, сколько времени работала программа и я включил таймер. После работы поглядел на результат и он был равным 20. В чем проблема ? Вот листинг программы до : #include <stdio.h> #include <math.h> int isPrime(int... подробнее

Показать сообщение отдельно
reich
110 / 46 / 3
Регистрация: 03.09.2009
Сообщений: 112
03.01.2011, 18:02     Бинарный поиск
Цитата Сообщение от $ereg@ Посмотреть сообщение
помоги мне плиз ответить на вопросы
C++
1
    int L = 0;
левая граница поиска
Цитата Сообщение от $ereg@ Посмотреть сообщение
C++
1
    int R = n; // для чего нужна переменная R
правая граница поиска(при начальной инициализации она равна длинне массива)
Цитата Сообщение от $ereg@ Посмотреть сообщение
C++
1
    while (L<R) // что за условие
условие выхода из цикла. Повторять операции до тех пор, пока левая граница меньше правой
Цитата Сообщение от $ereg@ Посмотреть сообщение
C++
1
        m = (L+R)/2;   // для чего?
Находим середину отрезка. Используется в бинарном поиске(еще называют метод половинного деления)
Цитата Сообщение от $ereg@ Посмотреть сообщение
C++
1
2
        if (k > M[m]) L = m; //что выполняет?
        if (k < M[m]) R = m;
Сравниваем значение из середины отрезка с искомым значением. Если искомое больше, то двигаем левую границу к текущей середине. Иначе двигаем правую границу к текущей середине
Цитата Сообщение от $ereg@ Посмотреть сообщение
C++
1
        if (k == M[m]) break;   // в каком случае?
В случае, если искомое равно значению текущей середины
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru