Ir ao conteúdo

Posts recomendados

Postado

Dado um vetor de inteiros n e um inteiro qualquer x. Construa um algoritmo que determine o número de elementos pares do vetor que tem uma diferença igual ao valor de x.


Exemplo:

Entrada:

n = [1, 5, 3, 4, 2]

Saída:

3

Explicação:

Existem 3 pares de inteiros no vetor com uma diferença de 2: [5, 3], [4, 2] e [3, 1].

 

Segue o código:

import java.util.Scanner;

public class Pares {

public static void main(String[] args) {
     
    try (Scanner sc = new Scanner(System.in)) {
        int i, X, N;        
        
        System.out.println("Digite a quantidade de números: ");
        N = sc.nextInt();
        
        int[] vetor = new int[N];
        
        for (i = 0; i < N; i++) {
            System.out.println("Digite um número: ");
            vetor[i] = sc.nextInt();
        }
        System.out.println("Digite um valor para x: ");
        X = sc.nextInt();
    }

}
}

 

Desde já agradeço. 🙂

  • mês depois...
Postado
import java.util.Scanner;

public class Pares {
  public static void main(String[] args) {
    int i, X, N;
    int flag1; //Primeiro indice do vetor
    int flag2; //Segundo indice do vetor
    int counterPairs = 0; //Conta a quantidade de vezes em que vetor[flag1] - vetor[flag2] = X
    int counterFlag2 = 0; //Auxilia flag2 sempre andar na frente da flag1

    try (Scanner sc = new Scanner(System.in)) {
      System.out.println("Digite a quantidade de números: ");
      N = sc.nextInt();

      int[] vetor = new int[N];

      for (i = 0; i < N; i++) {
        System.out.println("Digite um número: ");
        vetor[i] = sc.nextInt();
      }
      System.out.println("Digite um valor para x: ");
      X = sc.nextInt();

      for(flag1 = 0; flag1 < vetor.length - 1; flag1++){ 
        for(flag2 = 1 + counterFlag2; flag2 < vetor.length; ++flag2){
          if(Math.abs(vetor[flag1] - vetor[flag2]) == X) { //Math.abs() retorna valor absoluto, evitando negativos
            counterPairs++;                                  															
          }
        }
        counterFlag2++;
      }
      System.out.println(counterPairs);
    }
  }
}

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!