VisualgMaster

Bem vindo ao fórum visualgmaster, tudo relacionado ao visualg, tire suas dúvidas, resolva seus algoritmos.
 
InícioInício  PortalPortal  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  MembrosMembros  GruposGrupos  Conectar-se  

Compartilhe | 
 

 Multiplicar Matriz

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
guga22
Iniciante
Iniciante


Número de Mensagens : 175
Data de inscrição : 27/10/2007

MensagemAssunto: Multiplicar Matriz   Ter Nov 20, 2007 11:48 am

Faça uma função que receba, por parâmetro, uma matriz A(4,4) e retorna o produto dos elementos acima da diagonal principal e da diagonal secundária.

O algoritmo e este aqui

E ele não esta retornando o produto dos elementos
algoritmo
// Data : 30/10/07
// Seção de Declarações
var
matA : vetor [1..4,1..4] de real
i, j: inteiro //os índice sempre inteiro
s,c, k, w : real
//s: MultiplicaçãoA
//c: Contagem dos elementos da DP
//k: MultiplicaçãoB
//w: Contagem dos elementos da DS
mp, ms : real
inicio
// Seção de Comandos
s <- 0 //Recebe somatorio dos elementos da diagonal principal
c <- 0 //Faz a contagem dos elementos da diagonal principal
k <- 0 //Recebe somatorio dos elementos da diagonal secundaria
w <- 0 //Faz a contagem dos elementos da diagonal secundaria

Para i de 1 ate 4 faca
Para j de 1 ate 4 faca
escreva("Digite um valor do elemento da linha" , i, ", coluna ",j, " da matriz A: ")
leia (matA[i,j])

se (i < j) entao
s <- s * matA[i,j]
c <- c + 1
fimse

se (i+j>5) entao
k <- k * matA[i,j]
w <- w + 1
fimse

fimpara
fimpara
escreval
mp <- s*c
ms <- k*w

escreva("A matriz A é:")
escreval
para i de 1 ate 4 faca
escreval
para j de 1 ate 4 faca
escreva (matA[i,j]," ")
fimpara
fimpara
escreval
escreval("A media dos elementos abaixo da diagonal principal eh =",mp)
escreval("A media dos elementos acima da diagonal secundaria eh =",ms)

fimalgoritmo
Voltar ao Topo Ir em baixo
Ver perfil do usuário
guga22
Iniciante
Iniciante


Número de Mensagens : 175
Data de inscrição : 27/10/2007

MensagemAssunto: Re: Multiplicar Matriz   Qua Nov 21, 2007 12:30 pm

Agora este esta certo

Administradores favor verificar se esta correto


algoritmo "Multiplicar elementos diagonal principal e secundaria"
//Função: Faça uma função que receba, por parâmetro, uma matriz A(4,4) e
//retorna o produto dos elementos acima da diagonal principal e da diagonal secundária.
// Data : 30/10/07
// Seção de Declarações
var
matA : vetor [1..4,1..4] de real
i, j: inteiro //os índice sempre inteiro
k, w : real
//k: MultiplicaçãoDP(acm)
//w: CMultiplicaçãoDS(acm2)
inicio
// Seção de Comandos
w <- 1 //Recebe multiplicação dos elementos da diagonal principal
k <- 1 //Recebe multiplicação dos elementos da diagonal secundaria
Para i de 1 ate 4 faca
Para j de 1 ate 4 faca
escreva("Digite um valor do elemento da linha" , i, ", coluna ",j, " da matriz A: ")
leia (matA[i,j])

se (i > j) entao
w <- w * matA[i,j]
fimse

se (i+j>5) entao
k <- k * matA[i,j]
fimse

fimpara
fimpara
escreval

escreva("A matriz A é:")
escreval
para i de 1 ate 4 faca
escreval
para j de 1 ate 4 faca
escreva (matA[i,j]," ")
fimpara
fimpara
escreval
escreval("A multiplicação dos elementos acima da diagonal principal eh =",w)
escreval("A multiplicaçãodos dos elementos acima da diagonal secundaria eh =",k)

fimalgoritmo
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Admin
Administradores
Administradores
avatar

Número de Mensagens : 126
Data de inscrição : 26/10/2007

MensagemAssunto: Re: Multiplicar Matriz   Qui Nov 22, 2007 4:33 pm

Eu estou com uma dúvida, nessa matriz:

1 2 2 2
2 2 1 2
2 1 23 3
3 1 2 3

O que está em vermelho é a diagonal principal certo?
E em azul os elementos que estão acima da diagonal principal estou certo?

Se eu estiver certo, escreva essa matriz, e teste o seu algoritmo para ver se realmente está certo. Acho que você só testou seu algoritmo com matriz do tipo:

2 2 2 2
2 2 2 2
2 2 2 2
2 2 2 2

Com matrizes assim está funcionando, mas com o resto não.

_________________
Equipe VisualgMaster.
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://visualgmaster.livreforum.com
guga22
Iniciante
Iniciante


Número de Mensagens : 175
Data de inscrição : 27/10/2007

MensagemAssunto: Re: Multiplicar Matriz   Qui Nov 22, 2007 4:57 pm

Como fazer então?


Última edição por em Qui Nov 22, 2007 6:11 pm, editado 1 vez(es)
Voltar ao Topo Ir em baixo
Ver perfil do usuário
guga22
Iniciante
Iniciante


Número de Mensagens : 175
Data de inscrição : 27/10/2007

MensagemAssunto: Re: Multiplicar Matriz   Qui Nov 22, 2007 5:04 pm

E não esta rodando legal o que fazer então?
Voltar ao Topo Ir em baixo
Ver perfil do usuário
gfilho
Novato
Novato


Masculino
Número de Mensagens : 39
Idade : 28
Localização : Rio Branco
Data de inscrição : 15/11/2007

MensagemAssunto: Re: Multiplicar Matriz   Sab Jan 05, 2008 1:49 pm

a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44

elementos acima da diagonal principal: i<j
elementos da diagonal secundaria: i+j=5

--Produto dos elementos acima da diagonal principal:

prod_dp <- 0 //inicia a variavel prod_dp que representara o produto dos elementos acima da diagonal principal
para i de 1 ate 4 faca
para j de 1 ate 4 faca
se (i<j) entao
prod_dp <- prod_dp * matriz[i,j]
fimse
fimpara
fimpara

--Produto dos elementos da diagonal secundaria:

prod_ds <- 0 //inicia a variavel prod_ds que representara o produto dos elementos da diagonal secundaria
para i de 1 ate 4 faca
para j de 1 ate 4 faca
se (i+j=5) entao
prod_ds <- prod_ds * matriz[i,j]
fimse
fimpara
fimpara

=) Não testei mas creio que está correto. Espero ter ajudado.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Multiplicar Matriz   

Voltar ao Topo Ir em baixo
 
Multiplicar Matriz
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [Aula] Array e Matriz em GML
» VPN PPTP com 1 matriz e 2 filial ?
» Multiplicar o widget de votação
» Multiplicar widget de votação
» [TUTORIAL] Multiplicar os widgets de novidades

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
VisualgMaster :: VisualgMaster :: Pedidos de algoritmos-
Ir para: