Ir ao conteúdo

Posts recomendados

Postado

#include <stdio.h>
#include <stdlib.h>
#define N 3 //O numero de equações (linhas do sistema linear)

void main (){
    int i, j, k;
    float fator, soma;
    float X[N];
    float M[N][N+1] = {{3, -0.1, -0.2, 7.85},
                       {0.1, 7, -0.3, -19.3},
                       {0.3, -0.2, 10, 71.4}};

    for(i = 0; i<N; i++){
        for(j = 0; j<=N; j++){
            printf("|%.3f\t", M[i][j]);
        }
        printf("\n");
    }

// ELIMINACAO PROGRESSIVA
    for(k = 0; k<N-1; k++){
        for(i = (k+1); i<N; i++){
            fator = M[i][k] / M[k][k];

     for(j=0; j<=N; j++){
                M[i][j] = M[i][j] - fator*M[k][j];
            }
        }
    }

 X[N-1] = M[N-1][N] / M[N-1][N-1]; 

    //Test
    printf("\n");
    for(i = 0; i<N; i++){
        for(j = 0; j<=N; j++){
            printf("|%.3f\t", M[i][j]);
        }
        printf("\n");
    }

// SUBSTITUICAO PROGRESSIVA
    for(i=N-2; i>=0; i--){

        soma = 0;

        for(j=(i+1); j<N; j++){
            soma = soma + M[i][j]*X[j]; 
        }

        X[i] = (M[i][N] - soma)/M[i][i]; 

    }

    printf("\nResultado: " );
    for(i=0; i<N; i++)
         printf("\nX%d = %f\n", i+1, X[i]);
}
#include <stdio.h>
#include <stdlib.h>
#define N 3 //O numero de equações (linhas do sistema linear)

void main (){
    int i, j, k;
    float fator, soma;
    float X[N];
    float M[N][N+1] = {{3, -0.1, -0.2, 7.85},
                       {0.1, 7, -0.3, -19.3},
                       {0.3, -0.2, 10, 71.4}};

    for(i = 0; i<N; i++){
        for(j = 0; j<=N; j++){
            printf("|%.3f\t", M[i][j]);
        }
        printf("\n");
    }

// ELIMINACAO PROGRESSIVA
    for(k = 0; k<N-1; k++){
        for(i = (k+1); i<N; i++){
            fator = M[i][k] / M[k][k];

     for(j=0; j<=N; j++){
                M[i][j] = M[i][j] - fator*M[k][j];
            }
        }
    }

 X[N-1] = M[N-1][N] / M[N-1][N-1]; 

    //Test
    printf("\n");
    for(i = 0; i<N; i++){
        for(j = 0; j<=N; j++){
            printf("|%.3f\t", M[i][j]);
        }
        printf("\n");
    }

// SUBSTITUICAO PROGRESSIVA
    for(i=N-2; i>=0; i--){

        soma = 0;

        for(j=(i+1); j<N; j++){
            soma = soma + M[i][j]*X[j]; 
        }

        X[i] = (M[i][N] - soma)/M[i][i]; 

    }

    printf("\nResultado: " );
    for(i=0; i<N; i++)
         printf("\nX%d = %f\n", i+1, X[i]);
}

 

  • Curtir 1
  • Membro VIP
Postado

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1
Postado

@joão victor souza santana Crie a lista do sistema e faça os loops usando a mesma lógica. O primeiro p.ex pode ser assim,

 

for k in range(N - 1):
    for i in range(k + 1, N):
        fator = M[i][k] / M[k][k]
        for j in range(N + 1):
            M[i][j] -= fator * M[k][j]

 

E na lista das incógnitas crie com três elementos antes de fazer as atribuições: X = [0, 0, 0]

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...