Рубрики

C программа для поиска транспонирования матрицы

Транспонирование матрицы достигается путем замены строк на столбцы и столбцов на строки. Другими словами, транспонирование A [] [] получается путем изменения A [i] [j] на A [j] [i].

Для квадратной матрицы:

Приведенная ниже программа находит транспонирование A [] [] и сохраняет результат в B [] [], мы можем изменить N для другого измерения.

#include <stdio.h>
#define N 4

  
// Эта функция сохраняет транспонирование A [] [] в B [] []

void transpose(int A[][N], int B[][N])

{

    int i, j;

    for (i = 0; i < N; i++)

        for (j = 0; j < N; j++)

            B[i][j] = A[j][i];

}

  

int main()

{

    int A[N][N] = { {1, 1, 1, 1},

                    {2, 2, 2, 2},

                    {3, 3, 3, 3},

                    {4, 4, 4, 4}};

  

    int B[N][N], i, j;

  

    transpose(A, B);

  

    printf("Result matrix is \n");

    for (i = 0; i < N; i++)

    {

        for (j = 0; j < N; j++)

           printf("%d ", B[i][j]);

        printf("\n");

    }

  

    return 0;

}

Выход:

Result matrix is 
1 2 3 4 
1 2 3 4 
1 2 3 4 
1 2 3 4

Для прямоугольной матрицы:

Приведенная ниже программа находит транспонирование A [] [] и сохраняет результат в B [] [].

#include <stdio.h>
#define M 3
#define N 4

  
// Эта функция сохраняет транспонирование A [] [] в B [] []

void transpose(int A[][N], int B[][M])

{

    int i, j;

    for (i = 0; i < N; i++)

        for (j = 0; j < M; j++)

            B[i][j] = A[j][i];

}

  

int main()

{

    int A[M][N] = { {1, 1, 1, 1},

                    {2, 2, 2, 2},

                    {3, 3, 3, 3}};

  

    // Обратите внимание на размеры B [] []

    int B[N][M], i, j;

  

    transpose(A, B);

  

    printf("Result matrix is \n");

    for (i = 0; i < N; i++)

    {

        for (j = 0; j < M; j++)

        printf("%d ", B[i][j]);

        printf("\n");

    }

  

    return 0;

}

Выход:

Result matrix is 
1 2 3 
1 2 3 
1 2 3 
1 2 3

На месте для квадратной матрицы:

#include <bits/stdc++.h>

using namespace std;

  
#define N 4

  
// Преобразует A [] [] в его транспонирование

void transpose(int A[][N])

{

    for (int i = 0; i < N; i++)

        for (int j = i+1; j < N; j++)

            swap(A[i][j], A[j][i]);

}

  

int main()

{

    int A[N][N] = { {1, 1, 1, 1},

                    {2, 2, 2, 2},

                    {3, 3, 3, 3},

                    {4, 4, 4, 4}};

  

    transpose(A);

  

    printf("Modified matrix is \n");

    for (int i = 0; i < N; i++)

    {

        for (int j = 0; j < N; j++)

           printf("%d ", A[i][j]);

        printf("\n");

    }

  

    return 0;

}

Выход:

Modified matrix is 
1 2 3 4 
1 2 3 4 
1 2 3 4 
1 2 3 4

Пожалуйста, обратитесь к полной статье о программе, чтобы найти транспонирование матрицы для более подробной информации!

Рекомендуемые посты:

C программа для поиска транспонирования матрицы

0.00 (0%) 0 votes