Ir para o conteúdo
ex-dead

Copiar de um array para outro

Mensagens Recomendadas

ex-dead    0
ex-dead

boas!

a minha duvida é a seguinte...

eu tenho 1 array chamado array1 com estes valores  {0.01,0.02,0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500}..

como podem ver o valor 0.01 esta na posição 0, o valor 0.05 ta na posição 2,etc...

aquilo que eu quero é ter um outro array (por exemplo array2) em que o utilizador escolhe por exemplo o valor 0.05 e que esse valor fique guardado exactamente na mesma posição em que está no array1... se o utilizador escolheu o vlaor 0.05 este valor ficará guardado na posição 2 do array2, ja que, é nessa posição que esse valor está no array1.

sabem me dizer como faço isto?

obrigado desde já!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
falk0n    0
falk0n

assim por alto ....

crias outro vector com o tamanho do primeiro

qdo souberes qual e o valor que pretendes ... fazes um loop para percorrer o primeiro array e vez qual e a posicao em que esse valor esta e vais ao vector e inseres nessa posicao :P

boas programacoes

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ex-dead    0
ex-dead

assim por alto ....

crias outro vector com o tamanho do primeiro

qdo souberes qual e o valor que pretendes ... fazes um loop para percorrer o primeiro array e vez qual e a posicao em que esse valor esta e vais ao vector e inseres nessa posicao :P

boas programacoes

eu sei que tenho que ter um array com o tamanho do outro..

fica tipo isto né?

        private double[] tipoDinhe= {0.01,0.02,0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500};
private double[] tipoDinhe2=[15];

o que não sei é como fazer o loop para percorrer o array e meter o valor no segundo array :\

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
falk0n    0
falk0n

GeSHi (java):

        private double[] tipoDinhe= {0.01,0.02,0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500};

private double[] tipoDinhe2=[15];

Created by GeSHI 1.0.7.20

bem o que tens aqui e algo semelhante a dizeres que tens um array de double chamado tipoDinhe com 15 posicoes

e o tipodinhe2 e um array com uma posicao que tem o valor 15 nessa posicao

para fazeres loop's em java tens for e tens while agora es tu que tens de dicidir o que queres fazer ...

acho que talvez devias ver uns codigos java antes de fazeres isto nao que isto tenha nenhuma complexidade mas para comecares a dominar as instrucoes de loop e afectacao e de criacao de objectos

boas programacoes

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ex-dead    0
ex-dead

bem o que tens aqui e algo semelhante a dizeres que tens um array de double chamado tipoDinhe com 15 posicoes

e o tipodinhe2 e um array com uma posicao que tem o valor 15 nessa posicao

para fazeres loop's em java tens for e tens while agora es tu que tens de dicidir o que queres fazer ...

acho que talvez devias ver uns codigos java antes de fazeres isto nao que isto tenha nenhuma complexidade mas para comecares a dominar as instrucoes de loop e afectacao e de criacao de objectos

boas programacoes

lol enganei me a escrever o codigo :X

private double[] tipoDinhe= {0.01,0.02,0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500};
private double[] tipoDinhe2= new double[15];

eu sei +/- como funcionam os loops.. tenh q ver é como faço para escrever um que leia os varios valores e imprima os escolhidos para o outro array...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saunde    0
saunde

Para começar acho que para segurança devias em vez de passar o 15 como tamanho do segundo array passar o  tipoDinhe.length , ou seja o tamanho do array 1 ...

Agora voltanto à parte dos loops..

Imaginemos um for...

for(int i=0;i<array.length;++i)
   if(valorQprocuras == array[i])
        segundoArray[i]=valorQprocuras   /*ou array[i]*/


Isto agora dá para optimizar.. isto é apenas um exemplo.... pois se encontraste o valor não precisas de continuar a percorrer o for por exemplo... ou fazes com um while.. mas espero que tenhas percebido o esquema..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ex-dead    0
ex-dead

hmm... agora é que reparei.. acho que me adiantei um pouco...

ainda a ver com a msm duvida... eu tenho os 2 array:

private double[] tipoDinhe= {0.01,0.02,0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500};
private double[] tipoDinhe2= new double[15];

como é que eu faço para:

peço um valor ao utilizador, e ele escreve por exemplo 0.02 e terá que ficar guardado na posição2 do array tipoDinhe...

O programa vai guardar logo isso na posição 2? ou vou ter que andar a fazer if's  ou case's para guardar cada valor na posição certa?

como só comecei agora a fazer o código só reparei nisso agora :\

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ex-dead    0
ex-dead

Para começar acho que para segurança devias em vez de passar o 15 como tamanho do segundo array passar o  tipoDinhe.length , ou seja o tamanho do array 1 ...

Agora voltanto à parte dos loops..

Imaginemos um for...

for(int i=0;i<array.length;++i)
   if(valorQprocuras == array[i])
        segundoArray[i]=valorQprocuras   /*ou array[i]*/


Isto agora dá para optimizar.. isto é apenas um exemplo.... pois se encontraste o valor não precisas de continuar a percorrer o for por exemplo... ou fazes com um while.. mas espero que tenhas percebido o esquema..

eu penso que percebi mas deixa me começar com o código e já te digo se compreendi msm ou nao...

quando tiver a duvida que coloquei em cima resolvida já passo para isto e ja digo qualquer coisa!

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saunde    0
saunde

hmm... agora é que reparei.. acho que me adiantei um pouco...

ainda a ver com a msm duvida... eu tenho os 2 array:

private double[] tipoDinhe= {0.01,0.02,0.05,0.10,0.20,0.50,1,2,5,10,20,50,100,200,500};
private double[] tipoDinhe2= new double[15];

como é que eu faço para:

peço um valor ao utilizador, e ele escreve por exemplo 0.02 e terá que ficar guardado na posição2 do array tipoDinhe...

O programa vai guardar logo isso na posição 2? ou vou ter que andar a fazer if's  ou case's para guardar cada valor na posição certa?

como só comecei agora a fazer o código só reparei nisso agora :\

Uma possivel solução para isto é fazeres uma inserção ordenada,isto se basta para isso que os valores estejam por ordem vê por exemplo o algoritmo insertion Sort. Ainda não explicaste bem o problema, ou pelo menos eu ainda não percebi o porque de precisares de fazer isso.

Outro pormenor ali o 0.02 não está na posição 2... está na posição 1, os indices dos arrays começam em 0, toma atenção a isso.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ex-dead    0
ex-dead

Uma possivel solução para isto é fazeres uma inserção ordenada,isto se basta para isso que os valores estejam por ordem vê por exemplo o algoritmo insertion Sort. Ainda não explicaste bem o problema, ou pelo menos eu ainda não percebi o porque de precisares de fazer isso.

Outro pormenor ali o 0.02 não está na posição 2... está na posição 1, os indices dos arrays começam em 0, toma atenção a isso.

insertion sort? penso que estás a falar disto certo? http://pt.wikipedia.org/wiki/Insertion_sort

Sim eu sei que é na posição 1... foi distração minha quando escrevi :S

quanto ao que eu quero é o seguinte... aquilo que tou a fazer é um exercicio que me deram..

tenho q criar 1 prog que faça tipo depositos de moedas e notas... guardo o tipo de moeda/nota que o utilizador escolheu no array1 (por exemplo ele quer depositar moedas de 10 centimos, escreve 0.10) .

no fim o utilizador escolhe ver os varios valores que tem depositados...

por exemplo tem 2 moedas de 10 centimos e 1 de 5 centimos... aquilo que o prog tem que fazer é percorrer o array1 e copiar apenas os tipos de moedas/notas utilizados para o array2, para q depois sejam feitas as contas...

Se não me expliquei direito digam..

cumps, vou ver isso que me disseste de insertion sort :P

EDIT:

Foi isto que me explicaram que eu tinha que fazer... mas agora que tou a olhar para o código,  isto n tem muita logica.

hmm.......

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ex-dead    0
ex-dead

Da forma como me explicaram... isto não vai fazer o pretendido no final.

Como faço para apagar o topico do forum? Ou tenho que pedir a algum admin para o fazer?

Desculpem terem perdido tempo...tentei adiantar as duvidas para n perder tanto tempo.. afinal não vai dar para fazer desta forma...

Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade