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

Умножить элементы последней строки матрицы на значение минимального элемента

28.11.2017, 15:50. Показов 3472. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить программу, в которой
1) организовать ввод матрицы размера mxn из произвольных чисел;
2) умножить элементы последней строки на значение минимального элемента матрицы;
3) переставить элементы второго столбца в обратном порядке;
4) организовать ввод и вывод матрицы в виде отдельных функций.
 Комментарий модератора 
П.5.16.Правил
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2017, 15:50
Ответы с готовыми решениями:

Матрицы. Умножить элементы строки на значение соответствующего диагонального элемента
Матрицы Дана таблица А размера MxN. Умножить каждый элемент нулевой строки на А (в том числе и...

Умножить элементы матрицы на значение элемента боковой диагонали соответствующей строки
Умножить каждый элемент строки квадратной матрицы на значение элемента боковой диагонали...

Как увеличить элементы указанного столбца матрицы на значение минимального элемента последней строки
Разработать ИТ, позволяющую увеличить элементы матрицы произвольной размерности, разположенные в...

Заменить значение каждого элемента Ci значением минимального элемента i-ой строки матрицы A
Разработать алгоритм и программу нисходящим способом, предполагая заданной матрицу A из 5 строк и 5...

2
45 / 41 / 50
Регистрация: 04.04.2015
Сообщений: 80
28.11.2017, 16:40 2
Лучший ответ Сообщение было отмечено BitSkin как решение

Решение

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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
void enter_array(double **ar, int m, int n);
void show_array(double **ar, int m, int n);
 
int main()
{
    srand(time(0));
 
    int m, n;
    cout << "Vvedite kolichestvo strok: ";
    cin >> m;
    cout << "Vvedite kolichestvo stolbcev: ";
    cin >> n;
 
    double **array = new double* [m];
    for (int count = 0; count < m; count++)
        array[count] = new double [n];
 
    cout << "Vvedite elementi matrici:" << endl;
    enter_array(array, m, n);
    show_array(array, m, n);
 
    //Находим минимальный элемент матрицы
    int min = array[0][0];
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if(min > array[i][j])
                min = array[i][j];
        }
    }
    //Умножаем последнюю строку на минимальный элемент матрицы
    for (int i = 0; i < n; i++)
    {
        array[m - 1][i] = array[m - 1][i] * min;
    }
    cout << "Matrica posle umnogenija na minimum: " << endl;
    show_array(array, m, n);
 
    //Делаем перестановку элементов 2-го столбца
    double temp = 0;
    for (int i = 0; i < m; i++)
    {
        if(i < (m - 1 - i))
        {
            temp = array[i][1];
            array[i][1] = array[m-1-i][1];
            array[m-1-i][1] = temp;
        }
    }
    cout << "Matrica posle perestanovki elementov 2-go stolbca: " << endl;
    show_array(array, m, n);
 
    for (int count = 0; count < m; count++)
         delete [] array[count];
 
    return 0;
}
 
void enter_array(double **ar, int m, int n)
{
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << "[" << i << "][" << j << "]: ";
            cin >> ar[i][j];
        }
    }
}
 
void show_array(double **ar, int m, int n)
{
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << ar[i][j] << "  ";
        }
        cout << "\n";
    }
}
1
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
28.11.2017, 16:54 3
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
#include <iostream>
#include <random>
 
void initMatrix( int** matrix, std::size_t rows, std::size_t cols );
void fillMatrix( int** matrix, std::size_t rows, std::size_t cols );
void randomFillMatrix( int** matrix, std::size_t rows, std::size_t cols, int lowerBound, int upperBound );
int minElement( int** matrix, std::size_t rows, std::size_t cols );
void multElementsOfLastRow( int** matrix, std::size_t rows, std::size_t cols, int number );
void sortElementsOfCol( int** matrix, std::size_t rows, std::size_t cols, std::size_t col );
void printMatrix( int** matrix, std::size_t rows, std::size_t cols );
void deleteMatrix( int** matrix, std::size_t rows );
 
int main( ) {
 
    std::size_t rows { 0 };
    std::size_t cols { 0 };
 
    std::cout
        << "Please, enter the size of matrix: ";
    std::cin
        >> rows >> cols;
 
    int** matrix = new int*[rows];
 
    for ( std::size_t i { 0 }; i < rows; ++i ) {
 
        matrix[i] = new int[cols];
 
    }
 
    randomFillMatrix( matrix, rows, cols, -100, 100 );
 
    printMatrix( matrix, rows, cols );
 
    std::cout
        << std::endl;
 
    int min = minElement( matrix, rows, cols );
 
    std::cout
        << "Min value: " << min << std::endl;
 
    multElementsOfLastRow( matrix, rows, cols, min);
    printMatrix( matrix, rows, cols );
 
    std::cout
        << std::endl;
 
    sortElementsOfCol( matrix, rows, cols, 2 );
 
    printMatrix( matrix, rows, cols );
 
    std::cout
        << std::endl;
 
    deleteMatrix( matrix, rows );
 
    return 0;
 
}
 
void fillMatrix( int** matrix, std::size_t rows, std::size_t cols ) {
 
    for ( std::size_t i { 0 }; i < rows; ++i ) {
 
        for ( std::size_t j { 0 }; j < cols; ++j ) {
 
            std::cout
                << matrix[i][j];
 
        }
 
    }
 
}
 
void randomFillMatrix( int** matrix, std::size_t rows, std::size_t cols, int lowerBound, int upperBound ) {
 
    std::random_device rd;
    std::mt19937 gen( rd( ) );
    std::uniform_int_distribution<int> dist( lowerBound, upperBound );
 
    for ( std::size_t i{ 0 }; i < rows; ++i ) {
 
        for ( std::size_t j{ 0 }; j < cols; ++j ) {
 
            matrix[i][j] = dist( gen );
 
        }
 
    }
 
}
 
int minElement( int** matrix, std::size_t rows, std::size_t cols ) {
 
    int min = matrix[0][0];
 
    for ( std::size_t i{ 0 }; i < rows; ++i ) {
 
        for ( std::size_t j{ 0 }; j < cols; ++j ) {
 
            if ( min > matrix[i][j] ) {
 
                min = matrix[i][j];
 
            }
 
        }
 
    }
 
    return min;
 
}
 
void multElementsOfLastRow( int** matrix, std::size_t rows, std::size_t cols, int number ) {
 
    for ( std::size_t i { 0 }; i < cols; ++i ) {
 
        matrix[rows - 1][i] *= number;
 
    }
 
}
 
void sortElementsOfCol( int** matrix, std::size_t rows, std::size_t cols, std::size_t col ) {
 
    if ( cols <= col ) {
 
        std::cerr
            << "The number of col must be less than the number of cols..." << std::endl;
 
        return;
 
    }
 
    for ( std::size_t i { 0 }; i < rows - 1; ++i ) {
 
        for ( std::size_t j { i + 1 }; j < rows; ++j ) {
 
            if ( matrix[i][col] < matrix[j][col] ) {
 
                int temp = matrix[i][col];
                matrix[i][col] = matrix[j][col];
                matrix[j][col] = temp;
 
            }
 
        }
 
    }
 
}
 
void printMatrix( int** matrix, std::size_t rows, std::size_t cols ) {
 
    for ( std::size_t i { 0 }; i < rows; ++i ) {
 
        for ( std::size_t j { 0 }; j < cols; ++j ) {
 
            std::cout
                << matrix[i][j] << " ";
 
        }
 
        std::cout
            << std::endl;
 
    }
 
}
 
void deleteMatrix( int** matrix, std::size_t rows ) {
 
    for ( std::size_t i { 0 }; i < rows; ++i ) {
 
        delete[] matrix[i];
 
    }
 
    delete[] matrix;
 
}
1
28.11.2017, 16:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2017, 16:54
Помогаю со студенческими работами здесь

Уменьшить все элементы матрицы на значение минимального элемента
Мне нужна помощь с заданием, мне необходимо сделать квадратную матрицу, которая уменьшает все...

Уменьшить элементы матрицы на 5. Найти значение максимального и минимального элемента
Уменьшить элементы двумерного массива на 5. Найти в получившимся массиве значение максимального и...

Из существующей матрицы n*m записать в новую матрицу все элементы исходной матрицы, кроме максимального и минимального элемента из каждой строки
Здравствуйте! У меня такая задача: мне надо из существующей матрицы n*m запсать в новую матрицу все...

Умножить элементы массива P(N) на порядковый номер минимального элемента
Даны массивы P(N) и R(N). Образовать новый массив Q(N) путем умножения элементов массива P(N) на...


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

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