ola pessoal
eu nao consigo fazer um programa que tem duas matrizes para somar" e um programa que tem duas matrizes para fazer multiplicaçao"
alguem me ajuda??
obrigada
ola pessoal
eu nao consigo fazer um programa que tem duas matrizes para somar" e um programa que tem duas matrizes para fazer multiplicaçao"
alguem me ajuda??
obrigada
pela foto até ajudaria… :oops:
rs!!
posta o que vc conseguiu fazer até agora!!!
Alguém lembra quais as regras de soma e multiplicação de matrizes?
Soma é simples. As matrizes tem que ter as mesmas dimensões e soma-se os elemntos A[i, j] com B[i, j]
Já na multiplicação, a quantidade de linhas da primeira tem que ser igual a de colunas da segunda. Se AxB=C então C[i, j] = somatorio(A[i, k]*B[k, j]), onde 1>=k>=n, sendo n é a largura da primeira matriz.
Vou repetir (com alguns acréscimos) aqui uma resposta que dei para o/a Samilu (eu bloqueei todos os avatares com o AdBlock, então eu realmente não sei se é “o” ou “a”).
http://commons.apache.org/math/userguide/linear.html
Baixe o pacote, veja o fonte da classe org.apache.commons.math.linear.RealMatrixImpl , e veja como é que ele faz a soma e a multiplicação de duas matrizes.
Alternativamente, você pode fazer isso com 2 laços “for” se for a adição, no caso de uma soma, ou com 3 laços “for” se for a multiplicação.
Não se esqueça de dimensionar corretamente a matriz de saída antes de efetuar a soma ou a multiplicação; é isso que é a verdadeira “pegadinha” desse exercício, já que se você não fizer isso vai acabar recebendo alguns “ArrayIndexOutOfBoundsException” ou “NullPointerException”.
Esse exercício é trabalhoso, portanto veja se você tem um colega com o mesmo dever de casa, e façam isso juntos - o mais esperto faz a multiplicação, e o mais bobo faz a adição, que é mais simples.
EDIT - são 3 laços “for” para a multiplicação, sendo que um deles é para a somatória. Eu tinha posto só 2, não lembro mais por quê.
Uma ajuda…você pode melhorar e muito esse código
public class Matriz {
public static void main(String[] args) {
int matriza[][]= {{1,2,3},{4,5,6}};
int matrizb[][] = {{7,8,9},{10,11,12}};
Integer matrizsoma[][] = new Integer[2][2] ;
Integer matrizmulti[][] = new Integer[2][2];
//soma
for(int i=0;i<matriza.length;i++) { //percorre linha da matriza
for(int j=0;j<matriza.length;j++) { //percorre coluna da matriz a
matrizsoma[i][j] = matriza[i][j]+matrizb[i][j];
}
}
//multi
for(int i=0;i<matriza.length;i++) { //percorre linha da matriza
for(int j=0;j<matrizb.length;j++) { //percorre coluna da matriz a
matrizmulti[i][j] = matriza[i][j]*matrizb[i][j];
}
}
//imprimir soma
for(int i=0;i<matrizsoma.length;i++) { //percorre linha
System.out.println("\n");
for(int j=0;j<matrizsoma.length;j++) { //percorre coluna
System.out.print(matrizsoma[i][j]+"\t");
}
}
//imprimir multiplicação
for(int i=0;i<matrizmulti.length;i++) { //percorre linha
System.out.println("\n");
for(int j=0;j<matrizmulti.length;j++) { //percorre coluna
System.out.print(matrizmulti[i][j]+"\t");
}
}
}
}
jzf, você vai fazer a dona Andréa (ou o sr. Andrea, não vi o avatar e posso achar que ele na verdade é um italiano como o cantor Andrea Bocelli) perder meio ponto, já que a multiplicação de matrizes exige uma somatória, como foi lembrado pelo victorwss.
P.S. Não vi que ela tinha escrito “obrigada”. Então não é um italiano cantor de ópera
por isso justifica o final do post: você pode melhorar muito isso
Olá, Andréia, prefiro acreditar que você realmente seja mulher.
Bem, há um erro grave numa descrição aí acima, estão dizendo que para se multiplicar duas matrizes o número de linhas da primeira deve ser igual ao número de colunas da segunda. Isso não é correto, o certo é o número de colunas da primeira deve ser igual ao número de linhas da segunda.
A matriz produto terá o número de linhas da primeira e o número de colunas da segunda. Dimensione corretamente essa matriz para receber os dados da multiplicação.
Por exemplo, seja a matriz A 3x3 (3 linhas e 3 colunas) e a outra matriz B 3x2 (3 linhas e 2 colunas), você pode fazer o produto AxB, pois o número de colunas de A é igual ao número de linhas de B (3). A matriz produto será do tipo 3x2 (3 linhas e 2 colunas). Mas você não poderá fazer a multiplicação BxA, pois o número de colunas de B (primeira) é 2 e o número de linhas de A (segunda) é 3.
Na multiplicação de uma matriz por outra deve-se mutiplicar os elementos das linhas da primeira com os elementos das colunas da segunda e ir somando. Vamos ver um exemplo:
Seja as matrizes anteriormente citadas.
Multiplicaremos os elementos da primeira linha de A com os respectivos elementos da primeira coluna de B e vamos somando os resulados. Veja:
A[1,1]*B[1,1] + A[1,2]*B[2,1] + A[1,3]*B[3,1]
Esse resultado dará origem ao elemento P[1,1] da matriz produto.
para obter o elemento P[1,2] da mariz produto recorra ao cálculo anterior e multiplique a primeira linha de A com a segunda coluna de B.
Para os outros elementos refaça os cálculos conforme explicado anteriormente.
Espero ter ajudado, qualquer dúvida, poste aí.
Desculpe aí, falha minha. :oops:
jzf vlw
gostei mto
mto brigada viu jzf!!!
[quote=Diego Lemos]Ótima idéia, acho que tbm vou pegar uma foto de qualquer menina no orkut criar um perfil aqui e pedir para vcs fazerem meus trabalhos da faculdade!!!
pela môr de deus hein…posta o código minha filha ou filho…seja lá o que for…[/quote]
:twisted: e por quê vc acha que meus personagens nesses mmorpg’s da vida são sempre femininos? :twisted:
Eu, sinceramente, tenho enormes dúvidas se uma moça com ‘porte atlético’ como essa do avatar perderia tempo na vida dela programando ou fazendo qqr curso que derivasse nisso
Mas, guardados os devidos comentários e voltando ao tópico:
[quote=Valder Olmo Corrêa]
A matriz produto terá o número de linhas da primeira e o número de colunas da segunda. Dimensione corretamente essa matriz para receber os dados da multiplicação.
Por exemplo, seja a matriz A 3x3 (3 linhas e 3 colunas) e a outra matriz B 3x2 (3 linhas e 2 colunas), você pode fazer o produto AxB, pois o número de colunas de A é igual ao número de linhas de B (3). A matriz produto será do tipo 3x2 (3 linhas e 2 colunas). Mas você não poderá fazer a multiplicação BxA, pois o número de colunas de B (primeira) é 2 e o número de linhas de A (segunda) é 3.
Na multiplicação de uma matriz por outra deve-se mutiplicar os elementos das linhas da primeira com os elementos das colunas da segunda e ir somando. Vamos ver um exemplo:
Seja as matrizes anteriormente citadas.
Multiplicaremos os elementos da primeira linha de A com os respectivos elementos da primeira coluna de B e vamos somando os resulados. Veja:
A[1,1]*B[1,1] + A[1,2]*B[2,1] + A[1,3]*B[3,1]
Esse resultado dará origem ao elemento P[1,1] da matriz produto.
para obter o elemento P[1,2] da mariz produto recorra ao cálculo anterior e multiplique a primeira linha de A com a segunda coluna de B.
Para os outros elementos refaça os cálculos conforme explicado anteriormente.
Espero ter ajudado, qualquer dúvida, poste aí. [/quote]
Absolutamente correto!
Como moderador eu tenho de tentar ser o mais imparcial possível, portanto eu desligo os avatares com o AdBlock (plugin do Firefox).
[quote=thingol][quote=dmandrak]
Eu, sinceramente, tenho enormes dúvidas se uma moça com ‘porte atlético’ como essa do avatar perderia tempo na vida dela programando ou fazendo qqr curso que derivasse nisso
[/quote]
Como moderador eu tenho de tentar ser o mais imparcial possível, portanto eu desligo os avatares com o AdBlock (plugin do Firefox).
[/quote]
Fora do tópico (podia ser por mensagem privada, mas vai ver interessa a mais pessoas):
Cara eu compreendo. Acho que tem que bloquear sim.
Porém, os meus não estão desligados :shock:
Tô usando o Chrome e os avatares estão todos a mostra.
[quote=thingol][quote=dmandrak]
Eu, sinceramente, tenho enormes dúvidas se uma moça com ‘porte atlético’ como essa do avatar perderia tempo na vida dela programando ou fazendo qqr curso que derivasse nisso
[/quote]
Como moderador eu tenho de tentar ser o mais imparcial possível, portanto eu desligo os avatares com o AdBlock (plugin do Firefox).
[/quote]
Caraca nunca tinha pensado nisso !!! rsrsrs
PS. Só to vendo esse topico porque tava vendo as mensagens do SR. Andrea que acabou de postar outro trabalhinho pra gente fazer = )
abraços
ola estou iniciando em java e queria que me ajudassem com esse codigo
package baskara;
import javax.swing.JOptionPane;
import java.lang.Math;
public class Main {
public static void main(String[] args) {
String a,b,c;
double a1,b1,c1,delta,x1,x2,raiz;
a=JOptionPane.showInputDialog("digite valor para a");
a1=Double.parseDouble(a);
b=JOptionPane.showInputDialog("digite o valor para b");
b1=Double.parseDouble(b);
c=JOptionPane.showInputDialog("digite o valor para c;");
c1=Double.parseDouble(c);
delta=b1*b1-4*a1*c1;
raiz=Math.sqrt(delta);
if (raiz<0)
JOptionPane.showMessageDialog(null,"nao ha raizes");
else
x1=-b+(raiz)/2*a);
x2=-b-(raiz)/2*a);
JOptionPane.showInputDialog(null,"valores"+delta);
}
}
[quote=junior1]ola estou iniciando em java e queria que me ajudassem com esse codigo
package baskara;
import javax.swing.JOptionPane;
import java.lang.Math;
public class Main {
public static void main(String[] args) {
String a,b,c;
double a1,b1,c1,delta,x1,x2,raiz;
a=JOptionPane.showInputDialog("digite valor para a");
a1=Double.parseDouble(a);
b=JOptionPane.showInputDialog("digite o valor para b");
b1=Double.parseDouble(b);
c=JOptionPane.showInputDialog("digite o valor para c;");
c1=Double.parseDouble(c);
delta=b1*b1-4*a1*c1;
raiz=Math.sqrt(delta);
if (raiz<0)
JOptionPane.showMessageDialog(null,"nao ha raizes");
else
x1=-b+(raiz)/2*a);
x2=-b-(raiz)/2*a);
JOptionPane.showInputDialog(null,"valores"+delta);
}
}
[/quote]
Porque você não começa um tópico seu ao invés de invadir e poluir tópicos alheios com questões diversas da original?
Essa Andreia ai é Andre… ainda por cima a foto é uma pessima montagem pothoshopisada… aposto que deve ter um monte de otario mandadando mp para o André ops quiz dizer Andréia fazendo a coisa toda para ele ops quiz dizer ela…
3 regras basicas:
Aposto se ele tivesse uma fotinho de uma loirassa tesuda no perfil vc não falaria isto…