С++. Двумерные массивы. Как перемешать столбцы

В этой статье показан пример перемены местами колонок в динамически-создаваемом массиве. В качестве массива используется указатель на указатель.

Вам нужно в центр своего внимания взять функцию обмена двух колонок местами. Именно на этой функции построен смешиватель колонок. Функция перемешивания просто использует функцию обмена двух колонок местами.
В функции обмена местами колонок подаётся двойной указатель, который для нас как массив, количество строк и колонок воображаемого нами массива и два числа, обозначающие номера колонок, которые нужно поменять местами. Внутри функции кода очень мало, там непосредственно происходит описание обмена двух значений: какое-то значение одной колонки меняется с соответствующим ему значению другой колонки.
В функции main() нагромождено с виду много, но это только определённая последовательность действий: выделить память указателю -&gt заполнить область памяти значениями -> вывести на экран получившееся -> обменять местами две случайные колонки -> вывести получившееся -> перемешать все колонки -> вывести получившееся -> зачистить память.
Если инфотекст, выводимый в ходе работы программы вам как-то мешает, то вы легко его уберёте самостоятельно.
Функция перемешивания колонок написана таким образом, что происходит обход половины массива и на каждом витке цикла происходит вызов функции обмена двух колонок, при этом мы указали и в качестве первой, и в качестве второй колонки — случайную колонку. Поэтому перемешивание работает здорово.
Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

Добавить комментарий

Ваш e-mail не будет опубликован.

5 + 4 =

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/kim-bentli/upravlenie-elektronnymi-ustroystvami-na-c-22988275/?lfrom=15589587
Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Солидной компании на постоянную работу требуется девушка приятной внешности со знанием Linux, программирование встраиваемых микроконтроллеров на C/C++/ASM, знание Linux - установка и настройка (сеть, графика, установка драйверов); C , Python, технологии ООП, GTK (желательно PyGTK) или Qt, SQL и XML - базовые знания; понимание многопоточности и синхронизации потоков.

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок