Напишите код программы на с++ Дана квадратная матрица (5*5) Найти в каждой строке наибольший элемент...

Тематика Информатика
Уровень 10 - 11 классы
C++ квадратная матрица главная диагональ наибольший элемент замена элементов программирование алгоритмы
0

Напишите код программы на с++ Дана квадратная матрица (5*5) Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали

avatar
задан 28 дней назад

3 Ответа

0

Конечно! Давайте рассмотрим задачу по перемене местами наибольшего элемента в каждой строке квадратной матрицы с элементом на главной диагонали.

Для начала, краткий алгоритм решения задачи:

  1. Создадим квадратную матрицу размером 5x5.
  2. Пройдемся по каждой строке матрицы:
    • Найдем наибольший элемент в текущей строке.
    • Запомним его индекс.
    • Поменяем местами этот наибольший элемент с элементом на главной диагонали в текущей строке.
  3. Выведем матрицу после выполнения всех замен.

Код программы на 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 

avatar
ответил 28 дней назад
0

Конечно, вот пример кода на C++:

#include 
#include 
#include 

int main() {
    std::vector matrix = {
        {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}
    };

    for (int i = 0; i < matrix.size(); ++i) {
        int maxElement = *std::max_element(matrix[i].begin(), matrix[i].end());
        int maxElementIndex = std::distance(matrix[i].begin(), std::find(matrix[i].begin(), matrix[i].end(), maxElement));
        
        int temp = matrix[i][i];
        matrix[i][i] = maxElement;
        matrix[i][maxElementIndex] = temp;
    }

    for (int i = 0; i < matrix.size(); ++i) {
        for (int j = 0; j < matrix[i].size(); ++j) {
            std::cout 

avatar
ответил 28 дней назад
0

include

using namespace std;

int main() {

int matrix[5][5] = {{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}};

for (int i = 0; i < 5; i++) {
    int maxElement = matrix[i][0];
    int maxIndex = 0;
    for (int j = 1; j < 5; j++) {
        if (matrix[i][j] > maxElement) {
            maxElement = matrix[i][j];
            maxIndex = j;
        }
    }
    int temp = matrix[i][i];
    matrix[i][i] = matrix[i][maxIndex];
    matrix[i][maxIndex] = temp;
}

// Вывод измененной матрицы
for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        cout 

avatar
ответил 28 дней назад

Ваш ответ

Вопросы по теме