Bom dia galera sou novo no fórum e preciso urgente saber como é que eu faço para ler um vetor e verificar
quantos numeros são iguais e imprimir:
Tipo
Vetor[]=[1,2,5,2,1]
1 duas vezes
2 duas vezes
Obrigado Gente
Bom dia galera sou novo no fórum e preciso urgente saber como é que eu faço para ler um vetor e verificar
quantos numeros são iguais e imprimir:
Tipo
Vetor[]=[1,2,5,2,1]
1 duas vezes
2 duas vezes
Obrigado Gente
OK. Isto tem cara de lição de casa, e perguntas desse tipo nao costumam ser bem vistas por aqui.
Você tem alguma dúvida mais específica?
Sabe acessar os membros do vetor?! sabe percorrer o vetor usando um for?
Oi.
Você cria um vetor primitivo assim:
int vetor[] = new int[5]; ou
int vetor[] = new int[] {1,2,5,2,1};
Para acessar o elemento de um vetor, use a variável com índice:
vetor[0] = 10; //Toca o valor da primeira posição do vetor.
Para ler, também use o índice:
if (vetor[0] == 10)
fazAlgumaCoisa();
Para obter o tamanho de um vetor, use o método length:
System.out.println(vetor.length);
Não é possível alterar o tamanho de um vetor. Para fazer isso, você deve criar um novo vetor, copiar os elementos do vetor antigo para o novo, substituir o vetor antigo pelo novo e deixar que o garbage collector apague o antigo. Para copiar elementos, você usa a função System.arraycopy.
Quanto ao seu exercício:
[quote=ViniGodoy]Oi.
Você cria um vetor primitivo assim:
int vetor[] = new int[5]; ou
int vetor[] = new int[] {1,2,5,2,1};
Para acessar o elemento de um vetor, use a variável com índice:
vetor[0] = 10; //Toca o valor da primeira posição do vetor.
Para ler, também use o índice:
if (vetor[0] == 10)
fazAlgumaCoisa();
Para obter o tamanho de um vetor, use o método length:
System.out.println(vetor.length);
Não é possível alterar o tamanho de um vetor. Para fazer isso, você deve criar um novo vetor, copiar os elementos do vetor antigo para o novo, substituir o vetor antigo pelo novo e deixar que o garbage collector apague o antigo. Para copiar elementos, você usa a função System.arraycopy.
Quanto ao seu exercício:
[/quote]
Para isso ele terá q saber qaul eh o numero maior q ele tem no array e entao criar um array do tamanho do maior numero…
{1,2,3,999}
o cara vai ter um array mto grande …será q isso nao eh “gastar” memoria?
Então meu vetor é esse: v[]={1,5,8,-17,-24,5,-17,28}
Acho que é assim veja se estou certo:
int vetor[] = new int[] {1,5,8,-17,-24,5,-17,28};
for(int i=0; i<vetor.lenght[];i++)
if(i==vetor[i+1])
guarde=i
Será que é isso???
Depois imprimo o guarde?
pardal,
Só vai ocupar muito espaço se a matriz for muito dispersa (ou seja, tiver grande variação entre o menor e o maior elementos, e não tiver elementos “no meio”), caso contrário a solução ocupa menos memória. Como a pergunta é bem básica, imaginei que fosse um exercício de faculdade simples, e que o vetor não seria muito diferente daquele passado estaticamente.
A maneira mais simples de fazer isso numa matriz dispersa ou pouco conhecida é através de um map, como no exemplo abaixo:
[code]import java.util.Map;
import java.util.TreeMap;
public class Contagem
{
public static void main(String[] args)
{
int vetor[] = new int[] {1, 5, 8, -17, -24, 5, -17, 28};
Map<Integer, Integer> mapa = new TreeMap<Integer, Integer>();
for (int valor : vetor)
mapa.put(valor, mapa.containsKey(valor) ? mapa.get(valor) + 1 : 1);
for (Map.Entry<Integer, Integer> entry : mapa.entrySet())
System.out.println(entry.getKey() + " aparece " + entry.getValue()
+ " vezes.");
}
}[/code]
Valeu galerinha resolvido.
Obrigado pela atenação.