Последние записи
- Как запустить программу указанную в Edit.Text
- Скачать файл с использованием потока
- Поиск слова в Memo
- Распаковщик формата .img из GTA San Andreas
- Подсчет количества повторяющихся букв в файле
- Простейший скрипт загрузки картинки с помощью php
- Рассылка. Выпуск 154
- Получение картинки с веб-камеры
- Скопировать определённый кусок image
- Сделать printscreen экрана и сохранить
26th
Июн
Перемешивание элементов двухмерного массива
Posted by Chas under Пост-обзор
Подскажите как можно перемешать двухмерный массив таким образом , чтобы он в цикле по строкам и столбцам массива перебирал элементы массива по разу и менял местами значения текущего элемента и случайно выбранного элемента массива
An1ka:
#include
#include
using namespace std;
int card =1;
int deck[4][13];
void init ( )
{
for(int row = 0; row <= 3; row++)
{
for(int column = 0; column <= 12; column++)
{
deck[row][column] = card;
card++;
}
}
}
void mix ( )
{
int tmp, t_row, t_column;
for(int row = 0; row <= 3; row++)
{
for(int column = 0; column <= 12; column++)
{
tmp = deck[row][column];
t_row = rand() % 4;
t_column = rand() % 13;
deck[row][column] = deck[t_row][t_column];
deck[t_row][t_column] = tmp;
}
}
}
void output ( )
{
for(int i = 0;i <= 3; i++)
{
for(int j = 0; j <= 12; j++)
cout << setw(2)<< deck[j] << ' ';
cout << endl;
}
}
int main()
{
srand ( time ( 0));
init ( );
//Вывод массива в правильном порядке
output ( );
//Смешиваем массив
mix( );
cout << "Mixed:"<< endl;
output ( );
system("pause");
return 0;
}

