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

Динамические двумерные массивы

10.03.2020, 09:40. Показов 529. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <clocale>
#include <cstdlib>
#include <ctime>
 
int** Create(size_t n, size_t m) {     // Создание матрицы
    int** M = new int* [n];
    for (size_t i = 0; i < n; ++i) {
        M[i] = new int[m];
    }
    return M;
}
 
void Free(int** M, size_t n) {    // Удаление матриц
    for (size_t i = 0; i < n; ++i) {
        delete[] M[i];
    }
    delete[] M;
}
 
void Input(int** M, size_t n, size_t m) {  //  ввод матрицы
    for (size_t i = 0; i < n; ++i) {
        for (size_t j = 0; j < m; ++j) {
            std::cout << "M[" << i << "][" << j << "] = ";
            std::cin >> M[i][j];
        }
    }
}
 
void FillRandomNumbers(int** matrix, const size_t rows, const size_t columns)   // заполнениы случайными числами
{
    srand((unsigned int)time(0));           // инициализируем ПГСЧ
 
    for (size_t row = 0; row < rows; row++)
        for (size_t column = 0; column < columns; column++)
            matrix[row][column] = rand() % 100;            // присваиваем СЧ
}
 
void Print(int** M, size_t n, size_t m) {       // Печать матриц
    for (size_t i = 0; i < n; ++i) {
        for (size_t j = 0; j < m; ++j) {
            std::cout << M[i][j] << ' ';
        }
        std::cout << std::endl;
    }
}
 
void Process(int** A, int* S, size_t n, size_t m)  // Произведение
{
    for (size_t i = 0; i < n; i++)
    {
        bool isHas = false;
        for (size_t j = 0; j < m; j++)
        {
            if (A[i][j] < 0)
            {
                isHas = true;
            }
        }
        if (!isHas)
        {
            S[i] = 1;
            for (size_t j = 0; j < m; j++)
            {
                S[i] *= A[i][j];
            }
        }
    }
}// сюда вставить все дополнительные функции
 
int main()
{
 
    size_t n, m;  //setlocale( LC_ALL, "Rus" ) 
 
    std::cout << "Введите количество строк матрицы: "; // вводим размерность матри
    std::cin >> n;
    std::cout << "Введите количество столбцов матрицы: ";
    std::cin >> m;
    int** A = Create(n, m);   // выделяем память под матрицу, ввод матриц
                                //Input( A, n, m ); 
    FillRandomNumbers(A, n, m);  // заполнение случайными числами (вместо вво
                               // обработка матрицы
    int* S = new int[n];         // Вектор результата
    Process(A, S, n, m);
 
    for (size_t i = 0; i < n; i++)     // вывод результат
        std::cout << S[i] << ' ';
    std::cout << std::endl;
 
    Print(A, n, m);  // Вывод матриц
 
    delete[] S;    // освобождаем память, выделенную под матрицу и вектор
    Free(A, n);
 
    return 0;
}
Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матриц
вместо рандома ввод с клавиатуры
Подскажите как сделать
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.03.2020, 09:40
Ответы с готовыми решениями:

В каждой строке динамической матрицы заменить 1-й элемент на отношение минимума данной строки к максимуму
Здравствуйте, народ, задача заключается в том, чтобы каждой строке матрицы действительных чисел размера n×m заменить 1-й элемент на...

Двумерные динамические массивы
Написать программу для работы с динамическим целочисленным двумерным массивом. Количество строк, столбцов и элементы массива вводятся с...

Двумерные динамические массивы заполняются неверно
Помогите найти ошибку в коде, массив правильно не заполняется. void vvod(double *a, double *b, int n) { int i; cout &lt;&lt;...

1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.03.2020, 10:01
переделайте на ввод с клавиатуры:
В заданной матрице найти максимум среди сумм элементов диагоналей, параллельных главной диагонали
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2020, 10:01
Помогаю со студенческими работами здесь

Нужно изменить двумерные массивы на динамические
Добрый вечер. Не помешала бы ваша помощь,в моей лабе,нужно заменить двумерные массивы на динамические. К сожалению,я не знаю как это...

Двумерные динамические массивы, представленные одномерными массивами
Как организовать выделение и освобождение памяти в виде подпрограмм в двумерном массиве? Т. е. чтобы операторы new double и delete...

Двумерные динамические массивы-матрицы (выделение памяти)
Помогите пожалуйста,разобраться. В динамической памяти сначала выделяется память для указателей на соответствующие двумерные массивы(строки...

Нужен реферат на тему динамические и двумерные массивы
извиняюсь если тему не там создал,вообщем задали реферат на тему динамические и двумерные массивы на один лист, в сети нечего не нашел,и...

Динамические двумерные массивы через указатели. Как это происходит?
Вот типичная идентификация двумерного массива (NxM): int** mass = new int*; for(i=0; i&lt;N; i++) mass = new int; Помогите...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru