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

Не могу найти ошибку в коде, генерирующего всевозможные перестановки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатель на объект из указателя на член класса http://www.cyberforum.ru/cpp-beginners/thread1714236.html
Что как-то сей вопрос ставит меня в тупик. class A { int i; } obj; int main()
C++ Как процедуру в Паскале реализовать, как функцию в с++? Здравствуйте! Есть код на Паскале. Нужно процедуру реализовать в С++ как функцию. Возможно ли в моем случае? Попробовал по-всякому, но у меня выводит только единицы. program razbienie_mnozhestwa(input,output); var i,j,k,n:byte;wper:arrayof boolean; sled,pred,blok:arrayof byte; procedure write_razbienie; {процедура, выписывающая разбиение на экран} var i,j:byte; begin j:=1; {номер... http://www.cyberforum.ru/cpp-beginners/thread1714228.html
Как найти отношение 3-х, а ну двух чисел, между собой? C++
Допустим, если я хочу узнать, во сколько раз число A больше/меньше числа B, я просто разделю А на B (A/B), а что делать, если дано 3 числа? Дано: a, b, c Нужно вычислить какое - то одно число, которое бы говорило бы о степени взаимных отношений, то есть во сколько раз a,b и с больше или меньше сами себя что ли.. То есть для этих трёх должно быть одно число, которое бы харрактеризовало...
C++ Удалить из массива все нулевые элементы
Помогите кто знает. Пожалуйста. Сформировать и распечатать динамический одномерный массив( число элементов запросить у пользователя). Заполнить случайными числами от -5 до 5. Удалить из массива все нулевые элементы. Новый массив должен занимать столько памяти, сколько ему необходимо. Распечатать новый массив. Буду очень благодарен т
C++ Создать новую матрицу, скопировав её из исходной; заполнить 30% новой матрицы нулями в случайном порядке http://www.cyberforum.ru/cpp-beginners/thread1714185.html
Задание 3 скопировать 2-мерный массив и 30% чисел в нем заполнить нулями (в случайном порядке)
C++ Из заданного одномерного массива создать матрицу и заполнить её по условию Ребята,помогите пожалуйста Задание 2 Из полученного массива приложение создает 2-мерный массив, с размерностью первого массива (например первый массив получился из 10 элементов, значит 2-мерный будет 10х10) подробнее

Показать сообщение отдельно
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
18.04.2016, 11:20     Не могу найти ошибку в коде, генерирующего всевозможные перестановки
FasterHarder, это не ошибка, просто так организована работа цикла
Цитата Сообщение от FasterHarder Посмотреть сообщение
C++
1
2
3
4
5
6
for(int j = pi; j < pn; j++)
 {
 swap(pv, pi, j);
 permute(pv, pi + 1, pn);
 swap(pv, pi, j);
 }
Чтобы сделать так, как Вам необходимо, нужно не просто менять два элемента местами, а сдвигать все элементы в массиве от pi до j на единицу, причем элемент за идексом j переставляется на индекс pi.
Соответственно, после функции необходио возвращать все назад.

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