0 / 0 / 1
Регистрация: 22.09.2016
Сообщений: 10
1

Заполнить матрицу случайными буквами, чтобы буквы не повторялись

19.10.2016, 06:09. Показов 2409. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заполнить матрицу случайными буквами,чтобы буквы не повторялись. На языке C++
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2016, 06:09
Ответы с готовыми решениями:

Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке
Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке.

Заполнить матрицу случайными числами. Развернуть матрицу на 90(градусов) против часовой стрелки
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки

Заполнить матрицу 9x9 случайными числами. Отобразить матрицу симметрично относительно главной диагонали
Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали

Заполнить матрицу случайными числами. Разбить матрицу на квадраты размером 3х3. В центре каждого квадрата поме
Помогите пожалуйста есть некоторые мысли, ну успешного ответа нет :((( #include <iostream>...

1
205 / 181 / 112
Регистрация: 15.03.2014
Сообщений: 392
19.10.2016, 07:26 2
Лучший ответ Сообщение было отмечено mind_king как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <random>
#include <ctime>
#include <algorithm>
 
using namespace std;
 
int main() {
 
    // просто заполним матрицу буквами по порядку, а затем все буквы перемешаем
    // работаем только со строчными латинскими буквами
 
    // пусть будет размер матрицы 4 x 4
    const int size = 4;
 
    // генератор ПСЧ mersenne twister инициализируем начальным значением
    std::mt19937 gen( time( 0 ) );
 
    // 97 - код буквы a, 122 - код буквы z.
    // в распределении указываем диапазон из которого будет выбрана псевдослучайная буква,
    std::uniform_int_distribution < > uid( 97, 123 - size * size ); // с которой мы начнём заполнение матрицы
 
    int matrix[ size ][ size ];
    // заполняем матрицу буквами попорядку, начиная с выбранной псевдослучайной буквы
    iota( &matrix[ 0 ][ 0 ], &matrix[ 0 ][ 0 ] + size * size, uid( gen ) );
 
    // перемешиваем буквы в матрице
    random_shuffle( &matrix[ 0 ][ 0 ], &matrix[ 0 ][ 0 ] + size * size );
 
    // выводим матрицу на экран
    for ( const auto &row : matrix ) {
        for ( const char &elem : row )
            cout << elem << " ";
 
        cout << endl;
    }
 
    return 0;
}
Данный код нуждается в компиляторе поддерживающим как минимум c++11, потому нужен ключ -std=c++11
Или более свежая версия вместо 11 написать 14 или 17, если поддерживает компилятор конечно.
0
19.10.2016, 07:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2016, 07:26
Помогаю со студенческими работами здесь

Заполнить матрицу случайными числами
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки.

Заполнить матрицу случайными числами
отобразить матрицу симметрично относительно главной диагонали

Заполнить матрицу случайными числами
3. Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать.

Заполнить матрицу случайными числами
Заполнить матрицу случайными числами. Показать главную и побочную диагонали симметрично...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru