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

Подскажите пожалуйста как написать реализацию алгоритма - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Действия со списком http://www.cyberforum.ru/cpp-beginners/thread1003355.html
Здравствуйте. Проблема-работает только ввод строки, когда пытаюсь вывести на экран или еще что-нибудь сделать со строкой то закрывает программу. Помогите, пожалуйста) Вот задание: Выполнение лабораторной работы Создать Класс1, который должен содержать конструктор, деструктор, а также методы извлечения и установки данных. Создать класс Список, где каждый элемент представляет собой объект...
C++ найти в тексте все гласные буквы Всем привет, подскажите как реализовать данную задачку, найти в тексте все гласные буквы http://www.cyberforum.ru/cpp-beginners/thread1003350.html
FTLK из учебника C++
Ребят может кто подробно написать как интегрировать FTLK , в VS2012 ? уже много чего перерыл не как не могу разобратся Добавлено через 5 часов 20 минут Немного разобрался теперь вышла ошибка ..... в этом коде #include <Simple_window.h> #include <Graph.h> int main() { using namespace Graph_lib;
Удалить столбец матрицы с минимальным номером, в котором все элементы неположительны и упорядочены по возраста C++
Задача: Задана матрица A целых чисел размера N × M (N, M ≤ 20, N и M задаются как параметры). Преобразовать ее в матрицу B путем удаления столбца этой матрицы с минимальным номером, в котором все элементы неположительны и упорядочены по возрастанию. код: #include<stdio.h> #include<locale.h> #define N 20 #define M 20 void main() {
C++ Специализация шаблона http://www.cyberforum.ru/cpp-beginners/thread1003281.html
Здравствуйте! Задача: Создайте шаблонную функцию maxn(), которая принимает в качестве аргумента массив элементов типа Т и целое число, представляющее собой количество элементов в массиве, и возвращает элемент с наибольшим значением. Проверьте ее в программе, которая использует шаблон данной функции с массивом из шести значений типа int и с массивом из четырех значений типа double. Программа...
C++ Перегрузка оператора + String String::operator + (String & sg2) { String tmp; tmp.str = new char ; strcpy (tmp.str, str); strcat (tmp.str, sg2.str); return tmp; } Собственно вопрос: как вернуть tmp? Насколько я понимаю, деструктор срабатывает раньше... подробнее

Показать сообщение отдельно
M1kloFFi
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 23
11.11.2013, 17:02  [ТС]     Подскажите пожалуйста как написать реализацию алгоритма
Цитата Сообщение от lemegeton Посмотреть сообщение
Так как знаков всего четыре, то для выражения каждого знака необходимо и достаточно ровно 2-х бит, а для хранения пяти знаков потребуется ровно 10 бит. Это очень хорошо, так как позволит легко и непринужденно перебрать все варианты расстановки знаков с помощью чисел от нуля до 1024 (5 в степени 4), где каждое число означает уникальный вариант перестановки. Переменная permutation (перестановка) и хранит вариант перестановки знаков.

Например, 0 в бинарном виде будет "00 00 00 00 00", что даст нам "++++"; 1 в бинарном виде "00 00 00 00 01" это "+++-", 2 -- "00 00 00 00 10" -- "+++\" и так далее до 1024 -- "11 11 11 11 11" -- "*****".


Функция выбирает знак на позиции position из перестановки (permutation) путем вычленения пары бит на позиции position и position + 1.

Делает это она так.
Например, у нас перестановка (permutation) "11 01 10 10 00" ("*-\\+") и мы хотим взять третий знак (premutation = 2).
Создается пара бит на этой позиции с помощью сдвига двух бит влево
(3 << (position * 2)) == "00 00 11 00 00"
Затем применяется битовая операция "И" с перестановкой и полученным выше числом, отсекая ненужные биты:
"11 01 10 10 00" & "00 00 11 00 00" == "00 00 10 00 00"
Затем полученное сдвигается вправо на position * 2 бит, чтобы получить число от нуля до трех:
"00 00 10 00 00" >> (position * 2) == "00 00 00 00 10" (число "2").


Это битовые операторы сдвига.
Огромное вам спасибо за разъяснение!!! Живите долго и счастливо!!)
 
Текущее время: 01:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru