Ajuda com vetor

olá!!

eu to começando agora e queria saber um pouco sobre vetores eu queria um codigo em que tem dois vetores de 2 posiçoes fornecidas pelo usuario e um terceiro que mostra a soma desses numeros,algum filho dos ceus poderia ajudar,help!!! :frowning:

Busca do GUJ:

Vetor:

http://www.guj.com.br/jforum.java?module=search&action=search&search_keywords=vetor&match_type=all&search_forum=&sort_by=relevance

Array:

http://www.guj.com.br/jforum.java?module=search&action=search&search_keywords=array&match_type=all&search_forum=&sort_by=relevance

Caso queira matar curiosidades sobre ordenação de array

http://www.guj.com.br/java.tutorial.artigo.109.1.guj

Sugiro que de uma olhada na documentação do JAVA e no livro JAVA como programar.

Tome cuidado ao utilizar matrizes pois poderá cair sua performance de código.

public int[] array(int vet1[],int vet2[]){

 int vet3[]=new int[2];  
 for(int y=0;y<2; y++)  
 vet3[y]=0;              //inicilializa com zeros  
 for(int i=0;i<2; i++);  
 vet3[i]+=(vet1[i]+vet2[i]);  //soma o conteudo dos 2 vetores!  
       
 return vet3;                  

}

oq ta acontecendo aqui,alguem me ajuda!!! :? se possivel poderia me ajudar,eu queria que o usuario entrasse com os dados…

public int[] array(int vet1[],int vet2[]){  // Aki vc esta passando dois arrays e precisa que retorne um terceiro array
int vet3[]=new int[2]; // Aki vc esta criando um terceiro array com 2 posições.
for(int y=0;y<2; y++) // isso aki não é preciso
vet3[y]=0; //inicilializa com zeros // isso aki não é preciso
for(int i=0;i<2; i++); // aki vc vai preencher o terceiro array com a soma dos outros dois.
vet3[i]+=(vet1[i]+vet2[i]); //soma o conteudo dos 2 vetores!                 PS mude para vet3[i]=(vet1[i]+vet2[i]);

return vet3; // Aki vc irá retornar o terceiro vetor preenchido com a soma dos outros dois.

} 

exemplificando:
se vc preencher
vet1 = {11,12}
vet2 = {21,22}

seu retorno será:
vet3 = {32,34}

mas assim analise o seu codigo pq ele esta desprevinido de exception … COMO?

imagine se for passado no parametro um dos dois vetores com apenas 1 posição o que acontece quando vc tenta acessar uma posição do vetor que não existe ??? exception …

Sugiro um tratamento melhor dentro do metodo.

Abraço.

[code]public int[] array(int vet1[],int vet2[]){ //chamada do metodo, teremos um vetor retornado e dois vetores como parametro

int vet3[]=new int[2]; //aqui temos a inicialização do vetor, com suas posições (2 no caso)

for(int y=0;y<2; y++)
vet3[y]=0; //inicilializa com zeros
for(int i=0;i<2; i++);
vet3[i]+=(vet1[i]+vet2[i]); //soma o conteudo dos 2 vetores!

return vet3; //retorna vetor

}

[/code]

no caso não teremos o retorno do vetor todo e nem passamos todo o vetor como parametro. Acontece que passamos o endereço da primeira posição do vetor (onde começa os dados).

Usuario entrando com os dados:

[code] Scanner ler = new Scanner(System.in);

int vet[]=new int[5]; //vetor com 5 posições

System.out.println(“Entre com numeros para o vetor:”);
for(int i=0; i<5; i++)
{
System.out.print("Vet[%d]: ", i);
vet[i] = ler.nextInt();
}

[/code]

Para o usuario escolher a quantidade de posições do vetor:

[code] Scanner ler = new Scanner(System.in);

int x;

System.out.println(“Quantidade de numeros que vc deseja inserir?”);
x = ler.nextInt();

vet[]=new int[x]; //vetor com 5 posições

[/code]

Espero ter ajudado

[quote]P/ que o usuario possa digitar você deve dar uma olhada nas APIs de I/O.

Sobre o algoritmo que você postou, podemos explicar sim oq ele faz, mas é interessante saber o que você quer q ele faça…

E que retorno de fato você está esperando desse algoritmo ?

Quem irá invocá-lo ? coisas do tpo…

Explique melhor o problema… da um exemplo na pratica.

Um Abraco.[/quote]

Esquece… pelo visto já deu tudo certo… risos… :lol:

Muito bem lembrado…

Atente para esse caso…

muito obrigada pessoal pelas dicas!!!

agora sim eu to entendo e talvez eu possa me expressar melhor,o que eu quero esta bem proximo do q a KassiPretti vez com 5 posiçoes,que quero que o usuario entre com os valores para dois vetores de 2 posiçoes e o terceiro vetor retorne a soma…sera que agora eu fui quase clara…???eu sei q é dificil lidar com um analfabeto …me desculpem!!! :roll: :?

um vetor de 2 posições fornecido pelo usuario? o que o usuario fornece ?

as posições ou os valores? se ele fornece valores pq não usar 2 variaveis discriminadas?

pq um terceiro vetor com o a soma de dois caras? não basta uma terceira variavel?

Sério… ta dificil de entender… :frowning:

respondendo:

é um vetor fornecido pelo usuario ele fornece doisu numeros para o vet 1 e paro o vet2
ele fornece valor,eu queria usar vetor…
eu sei que usar variavel é mais facil,mas queria ver como é com vetor,o resulatdo é mostrado pelo vet3

desculpa c ta dificil é o mal d todos q tao começando!!! :? :cry:

o usuario vai entrar com os valores para vet1 e vet2,assim o vet 3 retorna a soma(vet3),sera q agora eu soube me expressar melhor?sera apenas d duas posiçoes e nada mais…obrigada!!! :cry:

[quote=jane bravo]
o usuario vai entrar com os valores para vet1 e vet2,assim o vet 3 retorna a soma(vet3),sera q agora eu soube me expressar melhor?sera apenas d duas posiçoes e nada mais…obrigada!!! :cry: [/quote]

Ok… Ok… Ok…

O que importa na verdade é saber se vc conseguiu fazer o que estava querendo. Enqunato a complexidade vc aumenta com o tempo.
Então conseguiu fazer do jeito que você tava querendo?

[code]import java.util.Scanner;

public static void main(String [] args){

Scanner ler = new Scanner(System.in);

/Declarando os vertores/

int v1[] = new int[2];
int v2[] = new int[2];
int v3[] = new int[2];

for(int i=0; i<2; i++){

/já realizo a leitura para os dois vetores/
System.out.print("v1[%d]: ", i);
v1[i] = ler.nextInt();

System.out.print("v2[%d]: ", i);
v2[i] = ler.nextInt();

/já realizo a soma dos valores da posição i/
v3[i] = (v1[i] + v2[i]);

}

/imprimo os valores do vetor soma/
For(i=0; i<2; i++)
System.out.println(v3[i]);

}

[/code]

Será que agora foi?