/* Algoritmo que leia dados para um vetor de 10 elementos inteiros.
* Imprimir o percentual de números pares.
*/
package testador;
import java.util.Scanner;
public class Ex367vetores {
public static void main(String args[]) {
Scanner leia = new Scanner(System.in);
int vetor[] = new int[10];
int somaPares = 0;
double cont = 0;
double porcentagem = 0;
for (int i = 0; i < 10; i++) {
System.out.print("Digite o " + (i + 1) + " valor: ");
vetor[i] = leia.nextInt();
}
for (int i = 0; i < 10; i++) {
if (vetor[i] % 2 == 0) {
somaPares = somaPares + vetor[i];
cont++;
}
}
porcentagem = cont * somaPares / 100;
System.out.println("\nPorcentagem: " + porcentagem + "%");
}
}
[RESOLVIDO] Dúvida com lógica
4 Respostas
pra que dois “for” ?
/* Algoritmo que leia dados para um vetor de 10 elementos inteiros.
* Imprimir o percentual de números pares.
*/
Pelo q entendi, o exercicio seria pra mostrar a porcentagem de numeros pares no vetor, ou seja, se tenho 10 numeros e 5 são
pares, então a porcentagem seria de 50%, certo?
se for isso, eu faria assim
for (int i = 0; i < 10; i++) {
if (vetor[i] % 2 == 0) {
cont++;
}
}
porcentagem = cont * 10;
Obs: Realmente, pode fazer toda a lógica no primeiro for apenas
Só para lembrar a regra de como se calcula uma porcentagem.
Primeiro, lembre-se que "porcentagem" vem de "por cento" que significa "a cada cem".
Assim, se você quer saber a cada cem unidades, deve multiplicar a quantidade contada por 100.
percentual = (quantidade contada * 100 / quantidade total);
A fórmula do marcos da certo, mas apenas para esse caso de 10 números, porque:
percentualNesseCaso = (quantidade contada * 100 / 10); => logo
percentualNesseCaso = (quantidade contada * 10);
Obrigado a todos pelas respostas o código ficou assim: for (int i = 0; i < 10; i++) {
if (vetor[i] % 2 == 0) {
cont++;
}
}
porcentagem = cont * 100.0 / 10.0; // quantidade de pares * 100 / tamanho total do vetorEu coloquei uma variável desnecessária como somaPares e acabei calculando a porcentagem com os dados errados.
Mas agora está tudo certo. Vlw!