Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
16.06.2026
Размер:
16.77 Кб
Скачать

8. Написать функцию для нахождения для каждого столбца двумерного динамического массива значение разности между наибольшим и наименьшим элементами.

#include <iostream>

#include <limits>

void findDifferenceBetweenMinMax(int** matrix, int numRows, int numCols) {

if (numRows <= 0 || numCols <= 0) {

std::cout << "Invalid matrix dimensions." << std::endl;

return;

}

for (int j = 0; j < numCols; ++j) {

int minElement = std::numeric_limits<int>::max();

int maxElement = std::numeric_limits<int>::min();

for (int i = 0; i < numRows; ++i) {

if (matrix[i][j] < minElement) {

minElement = matrix[i][j];

}

if (matrix[i][j] > maxElement) {

maxElement = matrix[i][j];

}

}

// Вывод разности между максимальным и минимальным элементами

std::cout << "Difference between min and max for column " << j + 1 << ": "

<< maxElement - minElement << std::endl;

}

}

int main() {

int numRows, numCols;

std::cout << "Enter the number of rows: ";

std::cin >> numRows;

std::cout << "Enter the number of columns: ";

std::cin >> numCols;

int** matrix = new int*[numRows];

for (int i = 0; i < numRows; ++i) {

matrix[i] = new int[numCols];

}

std::cout << "Enter the elements of the matrix:" << std::endl;

for (int i = 0; i < numRows; ++i) {

for (int j = 0; j < numCols; ++j) {

std::cin >> matrix[i][j];

}

}

findDifferenceBetweenMinMax(matrix, numRows, numCols);

for (int i = 0; i < numRows; ++i) {

delete[] matrix[i];

}

delete[] matrix;

return 0;

}

Соседние файлы в папке Двумерные динамические Массивы ( Решение)