98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
1

Заполнить заданную матрицу всевозможными комбинациями в порядке возрастания

17.06.2018, 01:23. Показов 762. Ответов 6
Метки нет (Все метки)

Имеется n позиций и m цифр.Нужно заполнить матрицу m^n x n всевозможными комбинациями в порядке возрастания(цифры от 0 до m-1).
Допустим,имеется 3 цифры(0,1,2) и 2 позиции,тогда матрица будет такой:

00
01
02
10
11
12
20
21
22

Помогите пожалуйста,больше часа думал как реализовать
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2018, 01:23
Ответы с готовыми решениями:

Заполнить матрицу нечётными числами в порядке возрастания
привет. помогите пожалуйста решить Заполнить таблицу n*m не чётными числами в порядке...

Заполнить матрицу числами кратными 5 из сегмента [с, d], записанными в порядке возрастания
Помогииииитееееее(((((( очень прошу! очень нужно( Дана матрица А(M,N) Оформить в...

Заполнить матрицу числами натурального ряда в порядке их возрастания, начиная с единицы, перемежающихся нулями
составить программу, решающую следующую задачу:Дано два натуральных числа n и m. Сформировать...

Заполнить заданную квадратную матрицу по спирали числами 0 и 1
Всем привет! Поставили передо мной следующую задачу: Написать программу, которая заполняет...

6
177 / 163 / 92
Регистрация: 13.06.2018
Сообщений: 678
17.06.2018, 02:26 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void comb(int pos,string s,int n,int m)
{
    for(int i=0; i<m; i++)
    {
        s[pos]=char(i+'0');
        if(pos<n-1) comb(pos+1,s,n,m);
        else cout<<s<<endl;
    }
}
void main(int argc,char **argv)
{
    int n,m;
    cout<<"n m:";
    cin>>n>>m;
    string s(n,' ');
    comb(0,s,n,m);
0
98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
17.06.2018, 06:51  [ТС] 3
Biger18, У вас,насколько я понял,по итогу получается строковое выражение,а мне нужен двумерный массив
0
177 / 163 / 92
Регистрация: 13.06.2018
Сообщений: 678
17.06.2018, 07:33 4
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
int **arr;
void comb(int &r,int h,int c,int n,int m)
{
    for(int i=0; i<m; i++)
    {
        arr[r][c]=i;
        if(c<n-1) comb(r,h,c+1,n,m);
        else
            if(++r<h)
                memmove(arr[r],arr[r-1],n*sizeof(int));
    }
}
void main(int argc,char **argv)
{
    int n,m;
    cout<<"n m:";
    cin>>n>>m;
    int h=(int)pow((double)m,n);
    arr=new int*[h];
    for(int i=0; i<h; i++)
        arr[i]=new int[n];
    int r=0;
    comb(r,h,0,n,m);
    for(int i=0; i<h; i++)
    {
        for(int k=0; k<n; k++)
            cout<<setw(2)<<arr[i][k];
        cout<<endl;
    }
    for(int i=0; i<h; i++)
        delete[] arr[i];
    delete[] arr;
0
Модератор
Эксперт по электронике
8695 / 6493 / 879
Регистрация: 14.02.2011
Сообщений: 22,714
17.06.2018, 08:15 5
Цитата Сообщение от Gaveyn Посмотреть сообщение
,а мне нужен двумерный массив
как то не выходит из этого выражения
Цитата Сообщение от Gaveyn Посмотреть сообщение
матрицу m^n x n
скольки мерный массив будет из m=3 n=3?
и знак ^ что означает? степень? "исключающее ИЛИ"
0
sourcerer
17.06.2018, 10:31
  #6
 Комментарий модератора 
Gaveyn, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 4.3 (порядок именования тем).
0
98 / 97 / 11
Регистрация: 12.09.2016
Сообщений: 194
05.07.2018, 00:54  [ТС] 7
Придумал сделать через систему счисления(переводить номер строки в m систему счисления) m=2,n=3 тогда это будет так
матрица 8(2^3) на 3
000 (0 в 2-ой системе счисления)
001 (1 в 2-ой системе счисления)
010 (2 в 2-ой системе счисления)
011 (3 в 2-ой системе счисления)
100 (4 в 2-ой системе счисления)
101 (5 в 2-ой системе счисления)
110 (6 в 2-ой системе счисления)
111 (7 в 2-ой системе счисления)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2018, 00:54
Помогаю со студенческими работами здесь

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

Заполнить таблицу n*m квадратами чисел в порядке возрастания
Заполнить таблицу n*m квадратами чисел в порядке возрастания 1, 4, 9 16,25,36

Заполнить заданную матрицу случайными числами в указанном интервале
Помогите написать, пожалуйста 2 программы на C++. Заполнить матрицу из 8 строк и 5 столбцов...

Отсортировать матрицу в порядке возрастания элементов
Здраствуйте! Прошу помочь написать код с помощью использования вложеных циклов, или как то так. Код...


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

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

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