Masato Posted October 5, 2012 at 02:28 PM Report #477866 Posted October 5, 2012 at 02:28 PM Boa tarde estou a fazer um exercicio que consiste em dar um vector, por exemplo (1,2,3,4,5) e o programa retorna (1,1,2,2,3,3,4,4,5,5) Duplica cada casa dando origem a um vector 2 vezes maior. eu escrevi isto: static int [] duplicateEveryElement2 (int[]v) { int i= 0; int j= 2; int [] v1 = new int [v.length*2]; while (i<v.length-1) { v1[i]=v[i]; v1[i+1] =v[i]; i=i+1; v1[j]= v[i]; v1[j+1]=v[i]; j=j+2; } return v1; } Mas o resultado apenas duplica as 2 ultimas coordenadas do primeiro vector. Alguém me pode dar uma dica sff?
pmg Posted October 5, 2012 at 02:45 PM Report #477869 Posted October 5, 2012 at 02:45 PM Alguém me pode dar uma dica sff? Se para cada elemento original precisas de 2 copias, para que e que estas a criar 4 copias? What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Masato Posted October 5, 2012 at 02:51 PM Author Report #477871 Posted October 5, 2012 at 02:51 PM Fiz um uptade e está quase certo, em 1,2,3 , dá 1,2,2,2,3,3 static int [] duplicateEveryElement2 (int[]v) { int i= 0; int j= 2; int [] v1 = new int [v.length*2]; while (i<v.length-1) { v1[i]=v[i]; i=i+1; v1[j]= v[i]; v1[j+1]=v[i]; j=j+2; } return v1; } }
pmg Posted October 5, 2012 at 03:21 PM Report #477876 Posted October 5, 2012 at 03:21 PM Fiz um uptade e está quase certo, em 1,2,3 , dá 1,2,2,2,3,3 static int [] duplicateEveryElement2 (int[]v) { int i= 0; int j= 2; int [] v1 = new int [v.length*2]; while (i<v.length-1) { v1[i]=v[i]; /* TERCEIRA COPIA (i == 1) */ i=i+1; v1[j]= v[i]; /* PRIMEIRA COPIA (i == 1) */ v1[j+1]=v[i]; /* SEGUNDA COPIA (i == 1) */ j=j+2; } return v1; } } Se precisas de 2 copias, para que e que estas a copiar 3 vezes? What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
KTachyon Posted October 5, 2012 at 05:16 PM Report #477902 Posted October 5, 2012 at 05:16 PM Basicamente, tu só queres copiar os elementos do vector inicial da posição n para as posições 2n e 2n+1 do outro vector. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
Masato Posted October 5, 2012 at 11:56 PM Author Report #477960 Posted October 5, 2012 at 11:56 PM Obrigado pelas dicas, a questão e´que o código que escrevi estava a fazer sentido teoricamente a meu ver, e como ainda sou iniciante ainda não vejo bem a mecânica da coisa.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now