Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
#1

перемешать матрицу

04.09.2013, 15:19. Просмотров 790. Ответов 9
Метки нет (Все метки)

Вобщем нужен только сам цикл который бы перемешивал все элементы в матрице случайным образом,хотя бы идею как это реализовать то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2013, 15:19
Ответы с готовыми решениями:

Перемешать массив
Перемешать массив чисел по правилам: 1) Позиция каждого элемента после...

Перемешать random();
Здравствуйте. Пишу под ардуинку программу. Хочу использовать там генератор...

Перемешать массив строк.
Здравствуйте, не могу сделать программу, где будет генерироваться имена без...

Рандомно перемешать слова n раз
Смотрите прогг запрашивает число ,количество треков ,например мы ввели 5 ...

Как перемешать одномерный массив?
Никак не могу придумать как сделать так чтобы цифры не повторялись в некоторых...

9
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
04.09.2013, 15:28 #2
создать функцию swap(int x,int y, int x2, int y2, type[][] matrix); которая меняла бы местами любый два элемента любой матрицы.

брать два случайных числа x и y и использовать функцию
1
Avazart
Эксперт С++
7706 / 5615 / 545
Регистрация: 10.12.2010
Сообщений: 25,215
Записей в блоге: 17
04.09.2013, 15:31 #3
std::random_suffle<> и пройтись по строкам

http://www.cplusplus.com/reference/algorithm/random_shuffle/
1
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
04.09.2013, 17:27  [ТС] #4
C++
1
2
3
4
5
6
7
8
9
10
    srand(time(NULL));
    for (int i = 0; i < n-1;i++) 
    {
        for (int j = 0; j < m; j++) 
        { 
 
            swap(A[i][j],A[rand() % m][rand() % n]);
 
        }
    }

Вот такая запись вроде делает то что нужно,но я не могу понять,почему она у меня вылетает за диапазон строк,n-1 написал,и в последнем столбце редко сортируются символы все,примерно 1 к 10,ну это может быть случайность уже,а вот по поводу выхода за границу хз
0
Avazart
Эксперт С++
7706 / 5615 / 545
Регистрация: 10.12.2010
Сообщений: 25,215
Записей в блоге: 17
04.09.2013, 17:39 #5
Все верное было
C++
1
for (int i = 0; i < n; i++)
Строки со столбцами не перепутали случайно ?
1
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
04.09.2013, 17:46 #6
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
swap(A[i][j],A[rand() % m][rand() % n]);
каким образом она меняет элементы, она принимает ссылки?
1
Avazart
Эксперт С++
7706 / 5615 / 545
Регистрация: 10.12.2010
Сообщений: 25,215
Записей в блоге: 17
04.09.2013, 17:50 #7
Вероятно std::swap

http://www.cplusplus.com/reference/algorithm/swap/
1
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
04.09.2013, 19:11  [ТС] #8
насчет std::
using namespace std пишу

Avazart и вправду не внимательность,перепутал,теперь все гуд
0
Миниатюры
перемешать матрицу  
Avazart
Эксперт С++
7706 / 5615 / 545
Регистрация: 10.12.2010
Сообщений: 25,215
Записей в блоге: 17
04.09.2013, 19:16 #9
Имена нужно адекватные давать переменным, тогда легче искать ошибки.

C++
1
2
3
4
5
    for (int сol=0; сol<col_count; ++col) 
    {
        for (int row=0; row<row_count; ++row) 
        {
          // ...
0
a.n.o.n.i.m
137 / 137 / 39
Регистрация: 26.02.2011
Сообщений: 535
04.09.2013, 19:19  [ТС] #10
Да еще с учебников то i да j либо m да n поэтому уже на автомате пишу
0
04.09.2013, 19:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2013, 19:19

Перемешать числа в случайном порядке
Есть набор чисел: { 1, 2, 3, 4, 5, 6, 7, 8, 0 } Нужно написать функцию,...

C++ Перемешать буквы слов из файла
И так, у меня задача написать игру &quot;Угадай слово&quot;. Есть текстовый файл со...

Рандомно перемешать элементы двумерного массива
Необходимо написать программу которая будет перемешывать рандомно елементы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru