Конечно! Давайте рассмотрим задачу по перемене местами наибольшего элемента в каждой строке квадратной матрицы с элементом на главной диагонали.
Для начала, краткий алгоритм решения задачи:
- Создадим квадратную матрицу размером 5x5.
- Пройдемся по каждой строке матрицы:
- Найдем наибольший элемент в текущей строке.
- Запомним его индекс.
- Поменяем местами этот наибольший элемент с элементом на главной диагонали в текущей строке.
- Выведем матрицу после выполнения всех замен.
Код программы на C++ будет выглядеть следующим образом:
#include
#include
int main() {
// Определяем размер матрицы
const int size = 5;
// Инициализируем квадратную матрицу размером 5x5
int matrix[size][size] = {
{3, 8, 1, 9, 7},
{5, 12, 3, 4, 6},
{16, 2, 11, 0, 5},
{9, 7, 6, 3, 1},
{4, 10, 8, 2, 13}
};
// Проходим по каждой строке матрицы
for (int i = 0; i < size; ++i) {
int maxIndex = 0;
// Находим наибольший элемент в строке
for (int j = 1; j < size; ++j) {
if (matrix[i][j] > matrix[i][maxIndex]) {
maxIndex = j;
}
}
// Меняем местами наибольший элемент и элемент на главной диагонали
std::swap(matrix[i][maxIndex], matrix[i][i]);
}
// Выводим изменённую матрицу
std::cout