Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Clarissa Manfrinato

C Problema com resolução de sistema linear

Recommended Posts

Postado (editado)

Pessoal, estou escrevendo um código que usa solução de sistema linear. A matriz A é uma triangular superior, o vetor Y são as incógnitas e quero resolver o sistema de baixo para cima para achar o x. Só que eu não estou conseguindo chegar à solução. O vetor solução vai ser armazenado no próprio vetor Y mesmo. n é a ordem da matriz, que nesse caso é 2. i são as linhas. j as colunas.

 

A[0][0]x1 + A[0][1]x2   = Y[0]

0                + A[1][1]x2     Y[1]

 

 

for(i=n;i>=1;i--){

    soma=Y;

        for(j=i+1;j<=n;j++){
            soma-=A[j]*Y[j];
            Y=soma/A;

        }
     
    }

 

 

Obrigada pela ajuda; 

 

Capturar.PNG

Editado por Clarissa Manfrinato
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Clarissa Manfrinato     mas  o que mesmo você quer que o código faça ,  pois ali no seu código a matriz A não tem nenhum valor ,  e o x  a ser  encontrado se refere a que ? 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

Para postar códigos no fórum use o botão <> (Code) no topo do campo de resposta, assim mantém a formação do seu código e evita que o fórum faça alterações nele ( [ i ] sem espaços é a tag para deixar o texto em itálico no fórum, logo todos eles sumiram do seu código e o texto ficou em itálico a partir do lugar onde estava o primeiro [ i ]).

 

No C índices de matrizes e vetores começam em 0 e vão até n-1, onde n é o tamanho/comprimento da dimensão da matriz ou vetor. Logo, seus ciclos for estão errados pois vão de 1 até n, e pode tentar acessar posições que não existem na matriz.

 

Na lógica o que está errado é que j deve começar em i+1 não em i, pois o elemento A[ i ][ i ] está multiplicando a variável que iremos calcular, e o Y[ i ]=soma/A[ i ][ i ]; deveria estar depois do segundo for, não dentro dele, pois deseja-se fazer a divisão apenas depois que terminar de fazer a soma.

 

Então ficaria assim:

 

for(i = n-1; i >= 0; i--){
    soma = Y[i];
    for(j = i+1; j < n; j++){
        soma -= A[i][j] * Y[j];
    }
    Y[i] = soma / A[i][i];
}

 

Editado por isrnick
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×