Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 07.06.2019
Сообщений: 34
1

Подсчитать количество строк, элементы которых являются перестановкой чисел

14.06.2019, 14:49. Показов 1258. Ответов 2

Author24 — интернет-сервис помощи студентам
Динамически выделить память под N*M элементов целого типа int. Разработать программу обработки двумерного динамического массива. Подсчитать количество строк, элементы которых являются перестановкой чисел 1, 2, 3, …, M (то есть содержащих каждое из этих чисел только один раз).

Так как в программировании новичок, сам написать код не осилил. Взял похожий код, но тут не строки - а матрицы. Что нужно переделать?

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <locale>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
    int n, m=0, i, j, s = 1, fact = 1, p;
    srand(time(NULL));
    cout << "Введите количество строк: "; cin >> n;
    int** par = new int* [n];
    for (int i = 0; i < n; i++)
        * (par + i) = new int[n];
    for (i = 0; i < n; i++)
 
    {
        s = 1;
        for (j = 0; j < n; j++)
        {
            int randomNumber;
            if (i % 2 == 0)
                * (*(par + i) + j) = rand() % n;
            else
                *(*(par + i) + j) = s++;
            cout << *(*(par + i) + j) << " ";
 
        }
        cout << endl;
 
    }
    cout << endl;
    for (i = 0; i < n; i++)
    {
        p = 1;
        for (j = 0; j < n; j++)
 
        {
            
            if (*(*(par + i) + j) != (*(*par + i) + j + 1))
                p *= (*(*(par + i) + j));
 
            if (fact == p) i++;
 
        }
        cout << p;
 
        cout << endl;
    }
    cout << "Количество перестановок: " << i << endl;
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2019, 14:49
Ответы с готовыми решениями:

Подсчитать количество строк матрицы элементы которых представляют перестановки чисел от 1 до n
Дана матрица A порядка n. Подсчитайте количество строк матрицы, элементы которых представляют...

Подсчитать количество строк заданной целочисленной матрицы n×n, являющихся перестановкой чисел 1, 2, ..., n
Подсчитать количество строк заданной целочисленной матрицы n × n, являющихся перестановкой...

Подсчитать количество строк, элементы которых образуют возрастающую последовательность
Подсчитать количество строк, элементы которых образуют возрастающую последовательность.

Подсчитать количество строк матрицы элементы которых образуют монотонную последовательность
Подсчитать количество строк матрицы A(n*n), элементы которых образуют монотонную последовательность.

2
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.06.2019, 17:21 2
Цитата Сообщение от Lexa_Biben Посмотреть сообщение
тут не строки - а матрицы
в условии задачи говорится о строках матрицы, например в матрице
1 3 5
2 4 4
две строки, первая 1 3 5 вторая 2 4 4
Цитата Сообщение от Lexa_Biben Посмотреть сообщение
сам написать код не осилил
а Вы попробуйте. алгоритм можно применить такой - отсортировать строки матрицы (каждую отдельно) по возрастанию и проверить совпадают ли отсортированные строки со строкой 1, 2, 3, …, M
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
14.06.2019, 17:33 3
Другой путь - элементы строки не должны повторяться и лежать в интервале 1 <= x <= M
0
14.06.2019, 17:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2019, 17:33
Помогаю со студенческими работами здесь

Подсчитать и вывести на экран количество слов, символами которых являются двоичные цифры
Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на...

Посчитать количество чисел, больших 0 и меньших N, сумма чисел которых и их реверс являются палиндромом
объясните пож не совсем понимаю задание

Определить номера строк матрицы, все элементы которых являются простыми числами
Дано: прямоугольная матрица A. Определить номера строк все элементы которых являются простыми...

Найти два числа, таких, у которых цифры первого являются перестановкой цифр второго...
Найти два числа, таких, у которых цифры первого являются перестановкой цифр второго, и, если из...


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

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