Pesquisar neste blog

15/04/2026

Matrix ordenada por linha

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define size 7

int main() {

    int A[size][size], B[size][size];
    int i, j, k, temp;

    srand(time(NULL));

    // Gerar matriz A
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            A[i][j] = rand() % 10;
            B[i][j] = A[i][j]; // copiar para B
        }
    }

    // Imprimir matriz A
    printf("Matrix A:\n");
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            printf("%d ", A[i][j]);
        }
        printf("\n");
    }

    // Ordenar cada linha da matriz B
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            for(k = j + 1; k < size; k++){
                if(B[i][j] > B[i][k]){
                    temp = B[i][j];
                    B[i][j] = B[i][k];
                    B[i][k] = temp;
                }
            }
        }
    }

    // Imprimir matriz B
    printf("\nMatrix B (linhas ordenadas):\n");
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            printf("%d ", B[i][j]);
        }
        printf("\n");
    }

    return 0;
}


Saída gerada


12/04/2026

Matrix odenada por colunas

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define size 4

int main(){

    int A[size][size], B[size][size];
    int i, j, k, temp;

    srand(time(NULL));

    // Gerar matriz A
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            A[i][j] = rand() % 10;
            B[i][j] = A[i][j];
        }
    }

    // Imprimir matriz A
    printf("Matrix A:\n");
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            printf("%d ", A[i][j]);
        }
        printf("\n");
    }

    // Ordenar cada coluna da matriz B
    for(j = 0; j < size; j++){        // percorre colunas
        for(i = 0; i < size; i++){
            for(k = i + 1; k < size; k++){
                if(B[i][j] > B[k][j]){
                    temp = B[i][j];
                    B[i][j] = B[k][j];
                    B[k][j] = temp;
                }
            }
        }
    }

    // Imprimir matriz B
    printf("\nMatrix B (colunas ordenadas):\n");
    for(i = 0; i < size; i++){
        for(j = 0; j < size; j++){
            printf("%d ", B[i][j]);
        }
        printf("\n");
    }

    return 0;
}

Saída gerada



11/04/2026

Matrix linha e coluna individuais

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define size 4

int main() {

    int matriz[size][size];
    int i, j;

    // Inicializa o gerador de números aleatórios
    srand(time(NULL));

    // 1. Gerar a matriz com números aleatórios
    for(i = 0; i < size; i++) {
        for(j = 0; j < size; j++) {
            matriz[i][j] = rand() % 100; // números de 0 a 99
        }
    }

    // 2. Imprimir a matriz
    printf("Matriz %dx%d:\n\n", size, size);
    for(i = 0; i < size; i++) {
        for(j = 0; j < size; j++) {
            printf("%3d ", matriz[i][j]);
        }
        printf("\n");
    }
    
    // 3. Imprimir a segunda linha da matriz
    printf("\nSegunda linha da matriz:\n");
    for(j = 0; j < size; j++) {
        printf("%3d ", matriz[1][j]); // linha 1 = segunda linha
    }

    printf("\n");
    
    // 4. Imprimir as colunas
    printf("\nImprime a 2° coluna da matrix: \n");
    for(i = 0; i < size; i++) {
        printf("%3d \n", matriz[i][1]); // linha 1 = segunda linha
    }

    printf("\n");

    return 0;
}


Saída gerada


08/04/2026

Operações com Matrizes em linguagem R

require(matrixcalc)
require(Matrix)
require(ibd)
require(pracma)
require(matlib)
require(MASS)


###Matriz triangular inferior: utilizando o lower.triangle (matrixcalc)

A=matrix(-8:7,byrow=T,nrow=4)
lower.triangle(A)


#####Matriz triangular superior: utilizando o upper.triangle (matrixcalc)

upper.triangle(A)

####Matriz diagonal (ou antidiagonal): utilizando diag

diag(1:5)

diag(1:5)[5:1,]

####Matriz identidade

dim=5
diag(1,dim)

###Matriz transposta:

t(A)


###Operações com matrizes

A=matrix(c(1:8,-9),byrow=T,nrow=3)
B=matrix(c(4,8,9,5,6,2,3,2,2),byrow=T,nrow=3)
A+B
A-B
A %*% B
det(A)
det(B)
t(A)
round(solve(A),2)

###Potências de Matriz

##A^2

A=matrix(1:9,byrow=T,ncol=3)
A %*% A

###A^3

A %*% A %*% A

####Simplificando as tarefas com o comando matrix.power(matrixcalc)

matrix.power(A,2)

###Formas escalonadas

A=matrix(c(4,2,2,2,2,0,2,0,2),byrow=T,nrow=3)
gaussianElimination(A,verbose=T) 


###Outra alternativa é utilizar o comando rref(pracma) que traz a forma reduzida sem mostrar detalhes:

rref(A)


####Posto de uma matriz

Rank(A)

### Classificação com relação ao posto

A=matrix(1:9,ncol=3,byrow=T)
rref(A)
Rank(A)
###A tem posto incompleto

B=matrix(1:10,ncol=5,byrow=T)
rref(B)
Rank(B)
###B tem posto linha completo


C=matrix(-5:4,ncol=2,byrow=T)
rref(C)
Rank(C)
###C tem posto coluna completo

D=matrix(c(-5,1,3,2,5,9,12,-7,9,13,11,-10,-2,5,7,1),byrow=T,ncol=4)
rref(D)
Rank(D)
##D tem posto completo



07/04/2026

Determinante de Matriz ordem n

Determinante de uma matriz ordem n x n em linguagem C

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define MAX 5

double determinante(int n, double A[MAX][MAX]) {
    double det = 1;
    int i, j, k;

    for(i = 0; i < n; i++) {

        if(A[i][i] == 0)
            return 0;

        for(j = i + 1; j < n; j++) {

            double fator = A[j][i] / A[i][i];

            for(k = i; k < n; k++) {
                A[j][k] = A[j][k] - fator * A[i][k];
            }
        }
    }

    for(i = 0; i < n; i++) {
        det *= A[i][i];
    }

    return det;
}

int main() {

    int n, i, j;
    double A[MAX][MAX];
    double B[MAX][MAX];

    srand(time(NULL));

    printf("Digite a ordem da matriz (2 a 5): ");
    scanf("%d", &n);

    if(n < 2 || n > 5){
        printf("Valor invalido!\n");
        return 0;
    }

    printf("\nMatriz gerada:\n");

    for(i = 0; i < n; i++){
        for(j = 0; j < n; j++){
            A[i][j] = rand() % 26;
            B[i][j] = A[i][j];
            printf("%4.0lf", A[i][j]);
        }
        printf("\n");
    }

    double det = determinante(n, B);

    printf("\nDeterminante = %.2lf\n", det);

    return 0;
}



31/03/2026

Matriz Transposta em linguagem C

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define size 4

int main() {
    
    int matriz[size][size];
    int transposta[size][size];
    int i, j;

    // inicializa gerador de números aleatórios
    srand(time(NULL));

    // 1. Preencher matriz com números aleatórios
    for(i = 0; i < size; i++) {
        for(j = 0; j < size; j++) {
            matriz[i][j] = rand() % 100; // números de 0 a 99
        }
    }

    // 2. Imprimir matriz original
    printf("Matriz Original:\n");
    for(i = 0; i < size; i++) {
        for(j = 0; j < size; j++) {
            printf("%3d ", matriz[i][j]);
        }
        printf("\n");
    }

    // 3. Calcular matriz transposta
    for(i = 0; i < size; i++) {
        for(j = 0; j < size; j++) {
            transposta[j][i] = matriz[i][j];
        }
    }
    
    // Imprimir matriz transposta
    printf("\nMatriz Transposta:\n");
    for(i = 0; i < size; i++) {
        for(j = 0; j < size; j++) {
            printf("%3d ", transposta[i][j]);
        }
        printf("\n");
    }

    return 0;
}