junÇÃo de 3 matrizes (resolvido)

9 respostas
A

Olá pessoal, tô aqui matutando em uns programas com matrizes, após a grande ajuda de vcs nesse programa anterior, tentei agora fazer a junção de 3 matrizes numa 4ª, mas está dando um erro, se alguem poder mim ajudar eu agradeço.

Questão: Ler três matrizes (A, B e C) de uma dimensão com 5 elementos cada. Construir uma matriz D, sendo esta a junção das três outras matrizes. Desta forma D deverá ter o triplo de elementos, ou seja, 15. Apresentar os elementos da matriz D.

Li as 3 matrizes,e na junção fiz assim:

[/code]
for(int i = 0; i < a.length; i++) {
d[i] = a[i]; }
for(int i = a.length; i < d.length; i++) {
d[i] = b[i - a.length];}
for(int i = a.length; i < d.length; i++) {
d[i] = c[i - b.length];
}
[code]

Mas está dando um erro.

9 Respostas

Anime

Oi ana_luiza,

Você colocou as tags Code ao contrario… :wink:

A

Como assim errado?

Anime

Ao contrario, a que tem a / antes da palavra code fica no final.

drsmachado

ana_luiza:
Olá pessoal, tô aqui matutando em uns programas com matrizes, após a grande ajuda de vcs nesse programa anterior, tentei agora fazer a junção de 3 matrizes numa 4ª, mas está dando um erro, se alguem poder mim ajudar eu agradeço.

Questão: Ler três matrizes (A, B e C) de uma dimensão com 5 elementos cada. Construir uma matriz D, sendo esta a junção das três outras matrizes. Desta forma D deverá ter o triplo de elementos, ou seja, 15. Apresentar os elementos da matriz D.

Li as 3 matrizes,e na junção fiz assim:

for(int i = 0; i < a.length; i++) { 
  d[i] = a[i];
} 
for(int i = a.length; i < d.length; i++) { 
  d[i] = b[i - a.length];
} 
for(int i = a.length; i < d.length; i++) { 
  d[i] = c[i - b.length]; 
}

Mas está dando um erro.


Qual erro?

A

Devo ter feito a junção errada, pois não ler os numeros.

Ivan_Alves

Afinal você tá querendo matriz ou vetor??
porque pelo que vi no seu código é um vetor não uma matriz

A

matriz do tipo vetor.

o código todo que fiz foi o seguinte:

[/

double a [] = new double [5];

double b [] = new double [5];

double c [] = new double [5];

double d [] = new double [15];

String anum,bnum,cnum,s= “”;

double num, num1,num2;
for (int i=0;i<a.length;i++)

{

anum = JOptionPane.showInputDialog(digite o valor da matriz A);

num = Double.parseDouble(anum);

a[i] = num;

}
for (int i=0;i<b.length;i++)

{

bnum = JOptionPane.showInputDialog(digite o valor da matriz B);

num1 = Double.parseDouble(bnum);

b[i] = num1;

}
for (int i=0;i<c.length;i++)

{

cnum = JOptionPane.showInputDialog(digite o valor da matriz C);

num2 = Double.parseDouble(cnum);

c[i] = num2;

}
for(int i = 0; i < a.length; i++)   {

d[i] = a[i];   }

for(int i = b.length; i < d.length; i++)  {

d[i] = b[i - a.length];}

for(int i = c.length; i < d.length; i++)  {

d[i] = c[i - b.length];

}

for (int i=0;i<d.length;i++)

{

s= s+ d[i]+" ";

}
JOptionPane.showMessageDialog(null, s);

}}

code]

Mas está dando erro

Ivan_Alves

Acredito que isso resolva testa ai

public static void main(String[] args) {
        double a[] = new double[5];
        double b[] = new double[5];
        double c[] = new double[5];
        double d[] = new double[15];
        String anum, bnum, cnum, s = "";
        double num, num1, num2;

        for (int i = 0; i < a.length; i++) {
            anum = JOptionPane.showInputDialog("digite o valor da matriz A");
            num = Double.parseDouble(anum);
            a[i] = num;
        }

        for (int i = 0; i < b.length; i++) {
            bnum = JOptionPane.showInputDialog("digite o valor da matriz B");
            num1 = Double.parseDouble(bnum);
            b[i] = num1;
        }

        for (int i = 0; i < c.length; i++) {
            cnum = JOptionPane.showInputDialog("digite o valor da matriz C");
            num2 = Double.parseDouble(cnum);
            c[i] = num2;
        }

        for (int i = 0; i < a.length; i++) {
            d[i] = a[i];
        }
        for (int i = 0; i < b.length; i++) {
            d[i+a.length] = b[i]; //o b chega em no máximo 5 e o d continua do 5 pra frente a gravar os dados
        }
        for (int i = 0; i < c.length; i++) {
            d[i+a.length+b.length] = c[i];

        }

        for (int i = 0; i < d.length; i++) {
            s = s + d[i] + " ";
        }

        JOptionPane.showMessageDialog(null, s);

    }

estava dando erro porque você tentava acessar indices que não existem nos vetores a, b e c

A

Muito obrigada Ivan Alves, deu certinho. Valeu mesmo.

Criado 8 de junho de 2011
Ultima resposta 8 de jun. de 2011
Respostas 9
Participantes 4