Quantas vezes o numero se repete em um vetor?

5 respostas
J

// 2) Utilizando a classe Scanner faça um programa que solicite a entrada de 10 números inteiros, verifique a
// freqüência de ocorrência de cada número no vetor.

a entrada tudo blz.

o problema é imprimir a quantidade de vezes que cada numero se repete

vetor{1,1,3,4,5,6,7,2,3,5}

se alguem puder ajudar, agradeço desde já

msn: [email removido]
e-mail: [email removido]

5 Respostas

R

primeiro pensa,

depois tente,

depois tire suas duvidas

:wink:

G

pode usar outros vetores?

se sim, vai armazenando cada numero diferente em um vetor diferente depois de o “.lenght”

:slight_smile:

F

Bom uma dica é você colocar um marcador no seu array ‘’ por exemplo, e sempre que for achado um número igual ao que você está se refenciando coloca esse marcador e incrementa um contador até que todas as poições do seu array tenham sido percorridas e preenchidas com '’.

Exemplo:

[i]vetor{1,1,3,4,5,6,7,2,3,5} >>> vetor{,,3,4,5,6,7,2,3,5} >>> Retorne String ‘Dois números 1’

Coloca um if para pular as posições com conteúdo igual a * e zera contador

vetor{,,3,4,5,6,7,2,3,5} >>> vetor{,,,4,5,6,7,2,,5} >>> Retorne String ‘Dois números 3’[/i]

E assim por diante. Flw.

J
import java.util.<em>;

import java.text.</em>;

public class frequencia

{

public static void main(String[] args)

{

DecimalFormat df = new DecimalFormat(0.00);

Scanner entrada = new Scanner(System.in);

boolean resp=false;

int numeros, resultado=0, x=0;

int     vetor[] = new int [10];

int repetidos[] = new int [10];

int matriz [][] = new int [10][2];

System.out.println ("\n -<em>-</em>-<em>->>> Cadastre 10 numeros <<<-</em>-<em>-</em>- ");

for(int i=0; i<10; i++)

{

System.out.print ("Numero " + (i+1) + ": ");		

numeros = entrada.nextInt();

vetor[i] = numeros;

}
System.out.println(" ");

// frequencia dos numeros
System.out.print("\n Frequencia dos numeros \n");
int cont=1;
int num=0;
for(int i=0; i<vetor.length; i++)
	{
	cont=0;
	for(int j=0; j<vetor.length; j++)
		{
		if (vetor[i] == vetor[j])
		cont++;
		num = vetor[i];
		}
	System.out.println(" repeticoes numero " + num + ": " + cont + " vezes");	
	}
}

}

está imprimindo assim:

---->>> Cadastre 10 numeros <<<----
Numero 1: 1
Numero 2: 2
Numero 3: 3
Numero 4: 4
Numero 5: 5
Numero 6: 6
Numero 7: 7
Numero 8: 8
Numero 9: 6
Numero 10: 5

Frequencia dos numeros
repeticoes numero 1: 1 vezes
repeticoes numero 2: 1 vezes
repeticoes numero 3: 1 vezes
repeticoes numero 4: 1 vezes
repeticoes numero 5: 2 vezes
repeticoes numero 6: 2 vezes
repeticoes numero 7: 1 vezes
repeticoes numero 8: 1 vezes
repeticoes numero 6: 2 vezes
repeticoes numero 5: 2 vezes

gostaria de melhorar

estou tentando, mas uma outra idéia sempre é bem vinda

obrigado a todos

J

// Utilizando a classe Scanner faça um programa que solicite a entrada de 10 números inteiros, verifique a
// freqüência de ocorrência de cada número no vetor.

import java.util.*;

public class frequencia

{

public static void main(String[] args)

{

Scanner entrada = new Scanner(System.in);

boolean resp=false;

int numeros, x=0;

int     vetor[] = new int [10];

int repetidos[] = new int [10];

System.out.println ("\n -<em>-</em>-<em>->>> Cadastre 10 numeros <<<-</em>-<em>-</em>- ");

for(int i=0; i<10; i++)

{

System.out.print ("Numero " + (i+1) + ": ");

numeros = entrada.nextInt();

vetor[i] = numeros;

}
System.out.println(" ");
// ordenar vetor
while(!resp)
	{
	resp = true;
	for(int i=0; i<vetor.length-1; i++)
		{
		if(vetor[i] > vetor[i+1])
			{
			resp = false;
			x = vetor[i+1];	
			vetor[i +1]= vetor[i];
			vetor[i] = x;
			}
		}
	}

// frequencia dos numeros
System.out.print("\n Frequencia dos numeros \n");
int cont=1;
int num=0;
for(int i=0; i<vetor.length; i++)
	{
	cont=0;
	for(int j=0; j<vetor.length; j++)
		{
		if (vetor[j] == vetor[i])
			{
			cont++;
			repetidos[i] = cont;
			}
		num = vetor[i];
		}
	}
	
// mostra somente os repetidos
	System.out.println(vetor[0] + " --> " + repetidos[0] + "x.");
for(int i=0; i<9; i++)
	{
	if (vetor[i] != vetor[i+1])
		System.out.println(vetor[i+1] + " --> " + repetidos[i+1] + "x.");
		{
		}
	}
}

}


resposta na tela:
---->>> Cadastre 10 numeros <<<----
Numero 1: 3
Numero 2: 45
Numero 3: 3
Numero 4: 45
Numero 5: 3
Numero 6: 45
Numero 7: 3
Numero 8: 45
Numero 9: 3
Numero 10: 45

Frequencia dos numeros
3 --> 5x.
45 --> 5x.

agora consegui
obrigado pelo ponta pé inicial.

Criado 18 de março de 2010
Ultima resposta 23 de mar. de 2010
Respostas 5
Participantes 4