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:  
Entre para seguir isso  
viniciusbmatos

[Resolvido] (Pascal) Multiplicação de elementos de uma matriz

Recommended Posts

Tenho uma matriz de gif.latex?\120dpi&space;\mathrm{maior\_exp+1} linhas e gif.latex?\120dpi&space;\mathrm{fd} colunas.

Quero encontrar um modo de multiplicar um elemento de cada coluna e ir colocando num vetor.

Melhor exemplificar:

Se a matriz for

gif.latex?\120dpi&space;\begin{matrix}&space;7&4&94&3&13\\&space;1&2&6&7&4\\&space;5&4&10&8&9&space;\end{matrix}

Os elementos do vetor seriam:

7*4*94*3*13
7*4*94*3*4
7*4*94*3*9
7*4*94*7*13
7*4*94*7*4
7*4*94*7*9
7*4*94*8*13
7*4*94*8*4
7*4*94*8*9
7*4*6*3*13
7*4*6*3*4
7*4*6*3*9
7*4*6*7*13
.
.
.
5*4*10*8*4
5*4*10*8*9

Espero que consigam entender.

Isto seria possível? (o número de linhas e colunas é variável)

(Não estou fazendo curso, estou aprendendo por meio de apostilas. O que estou perguntando seria apenas parte de um programa.)

Agradeço desde já.

Editado por viniciusbmatos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Multiplicar duas MAtrizes?....caso seja segue o codigo:

Program Multiplica(input,output);
VAR matrizA:ARRAY[1..50,1..50] OF REAL;
matrizB:ARRAY[1..50,1..50] OF REAL;
matrizR:ARRAY[1..50,1..50] OF REAL;
n,i,j,k:INTEGER;

Begin
writeln('Programa para calcular o resultado da multiplica‡Æo de 2 matrizes quadradas');
write('Qual a dimensÆo das matrizes ? ');
READLN(n);
writeln('Escreva os elementos da matriz A: ');
FOR i:=1 TO n DO
Begin
FOR j:=1 TO n DO
Begin
write('a',i,j,': ');
READLN(matrizA[i,j])
End
End;
writeln('Escreva os elementos da matriz B: ');
FOR i:=1 TO n DO
Begin
FOR j:=1 TO n DO
Begin
write('b',i,j,': ');
READLN(matrizB[i,j])
End
End;
{ Multiplica‡Æo das matrizes A e B }
FOR i:=1 TO n DO
Begin
FOR j:=1 TO n DO
Begin
matrizR[i,j]:=0;
FOR k:=1 TO n DO
matrizR[i,j]:=matrizR[i,j]+matrizA[i,k]*matrizB[k,j]
End
End;
writeln('A matriz resultado da multiplica‡Æo das matrizes A e B ‚ :');
FOR i:=1 TO n DO
Begin
FOR j:=1 TO n DO
write('r',i,j,matrizR[i,j],' ');
writeln
End;
End.

Editado por Mog.Lucas
Utilize tags [code]. Leia mais aqui: http://forum.clubedohardware.com.br/tags-code-como/709848
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, não era multiplicar duas matrizes. Mas já encontrei a solução criando um outro vetor para dizer onde está.

Resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Vinicius!

Poderia postar a solução que encontrou? Talvez ela ajude mais usuários no futuro! :)

Caso não, por favor me informe se já posso dar o tópico como resolvido.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode dar o tópico como resolvido. Ainda estou desenvolvendo uma outra parte antes desta, então vou resumir o que fiz:

Minha matriz tinha colunas de 1 a "fd" e linhas de 0 a "medt". Na verdade, eu não queria que multiplicasse por todos os elementos da coluna, mas apenas até o "exp_f[coluna]", pois os outros elementos eram iguais a 1.

Eis o trecho:

procedure achar_divisores;
var passoX,passo,divatual,cont_divdes,x:integer;
label fdl,fim_achar_divisores;
begin
cont_divdes:=1;
for passoX:=fd downto 1 do descendo[passoX]:=0;
x:=fd;
fdl:
if descendo[x]>exp_f[x] then
begin
if x=1 then goto fim_achar_divisores;
descendo[x]:=0;
x:=x-1;
descendo[x]:=descendo[x]+1;
goto fdl;
end
else x:=fd;
divatual:=1;
for passo:=fd downto 1 do
begin
divatual:=divatual*descendo[passo];
end;
divdes[cont_divdes]:=divatual;
cont_divdes:=cont_divdes+1;
descendo[x]:=descendo[x]+1;
goto fdl;
fim_achar_divisores:
qtde_div:=cont_divdes-1;
end;

Talvez haja algum erro, mas por enquanto é isto. Já "descobri" um modo de fazer o que eu queria. Podem fechar o tópico.

Quando eu terminar o programa (acho que vai demorar mais de um mês), crio um tópico para que todos vejam.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas colocando o link para o programa final, conforme prometido:

http://forum.clubedohardware.com.br/fatoracao-divisores/815142?p=4363158

Ficou um pouco diferente, pois mudei os nomes das variáveis e a organização, mas a ideia é a mesma.

Agora sim, tópico resolvido!

Editado por viniciusbmatos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





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

×