Como eu distribuo de um vetor em outro, exemplo
vet 1[]{2,3,4,}
vet[] 2
recebe {2,2,3,3,3,4,4,4,4,}
double c=0;
for (int i = 0; i < fi.length; i++) {
if(xi[i]>fi[i]){
c=fi[i];
}
for (int j = 0; j <c; j++) {
rol[j]=xi[j];
System.out.println("teste "+rol[j]);
}
O primeiro vetor determina quantas vezes você tem de andar no segundo vetor eo tamanho do segundo vetor pela soma dos números.
Você precisa salvar a última posição que você percorreu no segundo vetor e adicionar quantas vezes vai percorrer de acordo com o número do primeiro vetor.
Ou seja,
for( int j = ultimaPosicao ; j < qtdVezes para nadar ; j++ )
public static void main(String[] args) {
int[] vetor1 = new int[] { 2, 10, 4, 1, 5 };
int[] vetor2;
int tamanho = 0;
for (int i = 0; i < vetor1.length; i++) {
tamanho += vetor1[i];
}
vetor2 = new int[tamanho];
System.out.println("vetor2 tamanho " + vetor2.length + " da posição 0 até " + (vetor2.length - 1));
// determina o valor inicial p/ percorrer o vetor2
int ultimaPosicao = 0;
for (int i = 0; i < vetor1.length; i++) {
// determina até onde vai o laço p/ o vetor2
int qtdVezes = vetor1[i] + ultimaPosicao;
System.out.println(
"posição inicial: " + ultimaPosicao + " até: " + (qtdVezes - 1) + ", andou no total: " + qtdVezes);
for (int j = ultimaPosicao; j < qtdVezes; j++) {
vetor2[j] = vetor1[i];
ultimaPosicao++;
}
}
for (int i = 0; i < vetor2.length; i++) {
System.out.println("vetor2[" + i + "]=" + vetor2[i]);
}
}
Valeu cara! salvou minha pele!!!