Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как реализовать перемножение перестановок - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование с использованием файлов http://www.cyberforum.ru/cpp-beginners/thread1060984.html
Помогите начинающему программисту: Распечатать анкетные данные студентов-отличников из интересующей вас группы HELPPPPPPPPPPPP!!!!!!!!!!!!!!
C++ Вывести список очередности предоставления мест в общежитии. Помогите написать КОД: Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие в первую очередь... http://www.cyberforum.ru/cpp-beginners/thread1060983.html
Реализовать поиск данных по ключевым словам на компьютере и в интернете C++
Получится ли написать программу с интерфэйсом?Ну что-то пишешь,а она отвечает ну или по словам находит то что нужно или в компе или в инете...
Данные класса C++
Ребят, подскажите пожалуйста, как проинициализировать начальными значениями данные класса, допустим у меня есть класс: class Plane { public: XMMATRIX GetWorldMatrix(); Plane(); private:...
C++ Заданы матрицы А, В, С, D, каждая из которых содержит по три строчки и по три столбца. Перемножить матрицы Р и Q http://www.cyberforum.ru/cpp-beginners/thread1060963.html
Заданы матрицы А, В, С, D, каждая из которых содержит по три строчки и по три столбца. Перемножить матрицы Р и Q, полученные в результате сложения матриц: Р=А+В; Q=C+D. Сложение матриц оформить в...
C++ Эксперты! Одномерный массив неповторяющихся чисел не могу понять почему криво работает Задание: Нужно вывести массив из случайных чисел. Размер массива 8. Случайные числа от 1 до 8. Числа не должны повторяться. #include <iostream> #include <cstdlib> #include <ctime> using... подробнее

Показать сообщение отдельно
Байт
Диссидент
Эксперт C
17218 / 11288 / 1789
Регистрация: 24.12.2010
Сообщений: 22,219
31.12.2013, 19:14
Цитата Сообщение от Байт Посмотреть сообщение
Это в представлении int-массивов записывается так
2 3 1 5 4 7 6 (На i-том месте стоит то, куда переходит элемент i) И умножать такие перестановки - одно удовольствие)
C++
1
2
3
 int A[N], B[N]; // перемножаемые перестановки.
 int C[N];  // Их произведение A*B
 for(i=0; i<N;i++) C[i] = B[A[i]-1];
Усе!

Добавлено через 35 минут
Конечно, тк. мы находимся в разделе С++, удобнее нумеровать элементы с нуля и так же записывать перестановки. Тогда выше приведенная перестановочка будет выглядеть так: 1 2 0 4 3 6 5, и -1 в последней скобочке не нужен.

Добавлено через 10 минут
Приведенный пример перестановки был слишком прост и частен. Поэтому, чтоб не вводить в заблуждение, возьмем другую. Пусть она в виде циклов записывается (0 2 4) ( 1 3) (5 6) Тогда в виде int - массива она будет записываться так: 2 3 4 1 0 6 5
Перевод из записи в виде циклов в целый массив - задача не сложная. Обратно - тоже.
С наступающим!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru