Vectores||help [java]

Boas
Outro algoritmo para a soma de linhas de uma matriz, este em c#

int total = 0;
for
(int i = 0; i < a; ++i)//a = numero de linhas, deverá ser testado por forma a não exceder a dim do array
{
for (int j = 0; j < b; ++j)//b = numero de colunas, idem ""
{
total += matriz[j];
}
}
Console.WriteLine("Total --> {0}", total.ToString());// console.writeline faz o mesmo que o system.out.print do java


@braços

Edit: especificando um a e um b podes calcular apenas a soma de uma sub-matriz.
 
Última edição:
tenho dois vectores de 10 números A e B,quero fazer isto :
calcular S=(A[1]*B[10]+A[2]*B[9]

como faço isto??
Mas agora vens para aqui pedir que te façam todos os tpcs?

Acho de muito mau tom que, com tanta explicação escarrapachada sobre o funcionamento de vectores, ainda tenhas a lata de pedir que te façam as coisas por ti.
 
o que? caro amigo, ja tou de ferias portanto nao tenho tpc's [;)]
pa próxima pensa bem antes de falares,se não queres ajudar nao ajudes
 
Última edição:
mov r7, #10
introducao: call inputnumber ;vai-me buscar o numero ao teclado, transforma o numero de ascii para bcd, de bcd para um valor no byte... repete enquanto não carregar no enter...
push A
djnz r7, introducao

mov r7, #10
imprimir: pop A
call outputnumber
djnz r7, imprimir

fim: jmp fim

e o kilhões de código que ainda falta daqui.... [:)]

O SO que trate disso [:p]

Saudades dos 8051... LOL!
 
Última edição:
Bom acho que podiam ter ajudado o rapaz...

tenho dois vectores de 10 números A e B,quero fazer isto :
calcular S=(A[1]*B[10]+A[2]*B[9]

como faço isto??
Só tens de colocar a ")" no sitio onde queres terminar a prioridade e em vez do 10 utilizares o 9 (os vectores por norma são numerados de 0 a x, como dizes que tens 10 números é de 0...9).

[kiss][kiss][kiss][kiss]
 
eu tava a tentar fazer era, por um a andar para a frente e o outro ao contrario ao mesmo tempo, mas dava mal, depois fiz assim

for(int i=0;i<linhas;i++){
S=S+(A*B[(linhas-1)-i]);
}

obrigado por ajudarem : )
 
eu tava a tentar fazer era, por um a andar para a frente e o outro ao contrario ao mesmo tempo, mas dava mal, depois fiz assim

for(int i=0;i<linhas;i++){
S=S+(A*B[(linhas-1)-i]);
}

obrigado por ajudarem : )

Código:
for(int i=0,--linhas;i<linhas;i++){
            S=S+(A[i]*B[linhas-i]);
        }

Assim "poupas" uns ciclos. [;)]
 
Uma Ajuda Sff

Uma Ajuda Sff

char [][] tabuleiro = {

{
'*', '2', '2', '*', '1', '0', '0', '1', '*'},

{'2', '*', '3', '-', '0', '0', '1', '2', '-'},
{'0', '2', '*', '-', '1', '0', '1', '*', '-'},
{'0', '1', '-', '*', '2', '0', '1', '-', '-'},
{'1', '1', '-', '-', '*', '1', '1', '-', '-'},
{'*', '-', '-', '-', '-', '*', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '*', '-', '-'},
{'-', '-', '-', '1', '1', '-', '-', '*', '-'},
{'-', '-', '-', '1', '*', '-', '-', '-', '*'}
};


Como faço pra fazer uma cópia desta variavel, para outra variavel char
 
char [][] tabuleiro = {

{
'*', '2', '2', '*', '1', '0', '0', '1', '*'},

{'2', '*', '3', '-', '0', '0', '1', '2', '-'},
{'0', '2', '*', '-', '1', '0', '1', '*', '-'},
{'0', '1', '-', '*', '2', '0', '1', '-', '-'},
{'1', '1', '-', '-', '*', '1', '1', '-', '-'},
{'*', '-', '-', '-', '-', '*', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '*', '-', '-'},
{'-', '-', '-', '1', '1', '-', '-', '*', '-'},
{'-', '-', '-', '1', '*', '-', '-', '-', '*'}
};


Como faço pra fazer uma cópia desta variavel, para outra variavel char

O que é que já tentaste?

A resposta deverá andar por aqui:

int [] numbers = { 2, 3, 4, 5};

int [] numbersClone = (int[])numbers.clone();
 
Última edição:
Obrigaste-me a instalar o Eclipse. [:D]

Aqui deu. Estou a usar o Java 1.6.

Porque é que dizes que não dá?


quer dizer, dar dá... mas quando actualizo os dados na 1ª matriz, altera também a 2ª...

eu queria copiar uma matriz precisamente pra guardar os dados originais...
e com esta formula não dá :(
 
Tem que ser mesmo à la pata, o Clone() parece que só funciona para arrays simples.

char[][] tabuleiroReal = new char [9][9];

for ( int i = 0; i < 9; i ++) {
for(int j = 0; j < 9; j++){
tabuleiroReal[j] = tabuleiro[j] ;
}
}
 
Tem que ser mesmo à la pata, o Clone() parece que só funciona para arrays simples.

char[][] tabuleiroReal = new char [9][9];

for ( int i = 0; i < 9; i ++) {
for(int j = 0; j < 9; j++){
tabuleiroReal[j] = tabuleiro[j] ;
}
}




[kiss] já deu é isso mesmo...

vamos lá ver se é esta a lógica que o prof quer para o programa
 
O problema dessa solução é que esta hard-coded o tamanho do vectores ou solução mais generica pode ser...
Código:
[COLOR=navy][B]public[/B][/COLOR] [COLOR=navy][B]void[/B][/COLOR] copyArray(Object[][] origem, Object[][] destino)[COLOR=navy]{[/COLOR]
[COLOR=navy][B]    for[/B][/COLOR] ([COLOR=navy][B]int[/B][/COLOR] i=0;i<origgem.length;i++)[COLOR=navy]{[/COLOR]
            System.arraycopy(origem[i],0,destino[i],0,origem[i].length);
    [COLOR=navy]}[/COLOR]
[COLOR=navy]}[/COLOR]
 
char [][] tabuleiro = {

{
'*', '2', '2', '*', '1', '0', '0', '1', '*'},

{'2', '*', '3', '-', '0', '0', '1', '2', '-'},
{'0', '2', '*', '-', '1', '0', '1', '*', '-'},
{'0', '1', '-', '*', '2', '0', '1', '-', '-'},
{'1', '1', '-', '-', '*', '1', '1', '-', '-'},
{'*', '-', '-', '-', '-', '*', '-', '-', '-'},
{'-', '-', '-', '-', '-', '-', '*', '-', '-'},
{'-', '-', '-', '1', '1', '-', '-', '*', '-'},
{'-', '-', '-', '1', '*', '-', '-', '-', '*'}
};


Como faço pra fazer uma cópia desta variavel, para outra variavel char

Vê se isto funciona:

char [][] novoChar = tabuleiro.clone();

Copiar célula a célula é pouco eficiente, a menos que seja esse o propósito do exercício.
 
Voltar
Superior