Vetor [arrays]

Possuo um vetor:

int vet[] = {20,63,96,10,52,58,30,25,90};

Como orientar um laço de repetição para obter como resposta o maior elemento do vetor que seja inferior a 58 por exemplo, no caso o 52.

Eu deveria pedir pra você postar o que já tentou e ser mais específico na sua dificuldade mas, depois de fazer isso umas 30 vezes só esse ano, vou postar direto um jeito de fazer isso.

import java.util.*;
import java.lang.*;
import java.io.*;

class ProgramQueVerificaoMaiorElementoAbaixoDe58DentroDeUmVetorDeInteiros
{
	public static void main (String[] args) throws java.lang.Exception
	{
		int vet[] = {20,63,96,10,52,58,30,25,90};
		
		int maiorElementoQueEhMenorQue58 = Integer.MIN_VALUE;
		int indiceDoMaiorElementoAbaixoDe58 = -1;

		for(int i = 0; i < vet.length; i++){
			if (vet[i] < 58){
				if (maiorElementoQueEhMenorQue58 < vet[i]){
					maiorElementoQueEhMenorQue58 = vet[i];
					indiceDoMaiorElementoAbaixoDe58 = i;
				}
			}
		}
		
		if (indiceDoMaiorElementoAbaixoDe58 != -1){
			System.out.println("Achamos o maior elemento nesse vetor abaixo de 58. Ele é o " + maiorElementoQueEhMenorQue58 + " e está no índice " + indiceDoMaiorElementoAbaixoDe58 + " do vetor");
		}else{
			System.out.println("Não há nesse vetor um elemento que é menor que 58 (ou coisa parecida)");
		}
	}
}

Programa rodando: https://ideone.com/cos2qZ

Boa sorte com o resto.

1 curtida

Muito obrigado, minha duvida encontrava-se exatamente na orientação e comparação do For e do If, me ajudou bastante.