
C/C++
9.Составить программу с использованием функции

#include
#include
#include
#include
#define RAND(min, max) (rand() % ((max) - (min)) + (min))
using namespace std;
size_t input(const char* msg) {
cout > value;
cin.ignore(0x1000, '\n');
return value;
}
void rows_shift(int** matrix, const size_t n, const size_t m) {
auto tmp = new int[m];
for (size_t i = 0; i < m; ++i) tmp[i] = matrix[0][i];
for (size_t i = 1; i < n; ++i) {
for (size_t j = 0; j < m; ++j) {
matrix[i - 1][j] = matrix[i][j];
}
}
for (size_t i = 0; i < m; ++i) {
matrix[n - 1][i] = tmp[i];
}
}
void cols_shift(int** matrix, const size_t n, const size_t m) {
auto tmp = new int[n];
for (size_t i = 0; i < n; ++i) tmp[i] = matrix[i][0];
for (size_t j = 1; j < m; ++j) {
for (size_t i = 0; i < m; ++i) {
matrix[i][j - 1] = matrix[i][j];
}
}
for (size_t i = 0; i < n; ++i) {
matrix[i][m - 1] = tmp[i];
}
}
pair max_position(int** matrix, const size_t n, const size_t m) {
pair box{};
auto max = matrix[0][0];
for (size_t i = 0; i < n; ++i) {
for (size_t j = 0; j < n; ++j) {
if (matrix[i][j] > max) {
max = matrix[i][j];
box.first = i;
box.second = j;
}
}
}
return box;
}
void max_move(int** matrix, const size_t n, const size_t m, const size_t k) {
auto [row, col] = max_position(matrix, n, m);
while (row != k) {
rows_shift(matrix, n, m);
auto next = max_position(matrix, n, m);
row = next.first;
}
while (col != k) {
cols_shift(matrix, n, m);
auto next = max_position(matrix, n, m);
col = next.second;
}
}
int main() {
srand(unsigned(time(nullptr)));
auto n = input("n: ");
auto m = input("m: ");
puts("");
auto matrix = new int* [n];
for (size_t i = 0; i < n; ++i) {
matrix[i] = new int[m];
for (size_t j = 0; j < m; ++j) {
matrix[i][j] = RAND(10, 100);
cout
Евгений Ткаченков
Почему когда пишу значение k допустим 2 он выбирает не вторую строчку и столбец,а третий, не могу понять что не так?
Евгений Ткаченков
Спасибо
Похожие вопросы
- Помогите написать программу с использованием функций, с++
- Составить программу, выполняющую следующие функции:
- Здравствуйте, помогите пожалуйста написать программу на C++ с использованием функций
- Составить программу на С++ Программирование с использованием классов. Создание и работа с классами.
- Помогите составить программу на Visual Studio C++
- Составить программу на c++ УСПОЛЬЗУЯ МАССИВ!!!
- Составьте программу удаления столбца, содержащего максимальный элемент матрицы A[N][N] НА ЯЗЫКЕ СИ
- Составить программу C++, с помощью switch/case
- Составить программу c++ срочно пожалуйста
- Нужно составить программу для решения дифф. уравнений методом Рунге-Кутта