Exercício - Vetor

Faça um algoritmo que leia um vetor N[20]. A seguir, encontre o menor elemento do vetor N e a sua posição dentro do vetor, mostrando:
?O menor elemento de N é?, M, ?e sua posição dentro do vetor é:?,P.

Esse é o exercício e isso foi o que eu consegui fazer. Não sei bem como determinar a posição do elemento dentro do vetor…

[code]package vetorum;

import static java.lang.Math.min;

import javax.swing.*;

public class VetorUm {

public static void main(String[] args) {
    
    {  

int vet[]=new int [20];
int num=20;

   for(int i=0;i<20;i++){  

   vet[i]=Integer.parseInt(JOptionPane.showInputDialog("Preencha o vetor:"));  


         
   if(vet[i] < num){  

   num = min(num, vet[i]);  
   }    

   }  

    JOptionPane.showMessageDialog(null,"O menor valor contido no vetor é: " + num);  

    }  

}

}[/code]

Além desse ainda tem esses exercícios aqui sobre vetor e matriz, os quais eu não consigo completar. Eu não sei se eles são difíceis mesmo ou eu que tenho muitas limitações com relação a Java.

2- Escreva um algoritmo que leia dois vetores de 10 posições e faça a multiplicação dos elementos de mesmo índice, colocando o
resultado em um terceiro vetor. Mostre o vetor resultante.

3- Escreva um algoritmo que leia e mostre um vetor de 20 números. A seguir, conte quantos valores pares existem no vetor.

4- Escreva um algoritmo que leia um vetor de 20 posições e mostre- o. Em seguida, troque o primeiro elemento com o último, o segundo com o penúltimo, o terceiro com o antepenúltimo, e assim sucessivamente. Mostre o novo vetor depois da troca.

5- Escreva um algoritmo que leia um vetor de 13 elementos, que é o Gabarito de um teste da loteria esportiva, contendo os valores 1(coluna 1), 2 (coluna 2) e 3 (coluna do meio). Leia, a seguir, para cada apostador, o número do seu cartão e um vetor de Respostas de 13 posições. Verifique para cada apostador o números de acertos, comparando o vetor de Gabarito com o vetor de Respostas. Escreva o número do apostador e o número de acertos. Se o apostador tiver 13 acertos, mostrar a mensagem “Ganhador”.

6- Elaborar um algoritmo que lê duas matrizes M(4,6) e N(4,6) e cria uma matriz que seja:
a) o produto de M por N;
b) a soma de M com N;
c) a diferença de M com N;
Escrever as matrizes calculadas.

Elaborar um algoritmo que lê uma matriz M(6,6) e um valor A e multiplica a matriz M pelo valor A e coloca os valores da matriz multiplicados por A em um vetor de V(36) e escreve no final o vetor V.

Escreva um algoritmo que lê uma matriz M(5,5) e calcula as somas:
a) da linha 4 de M
b) da coluna 2 de M
c) da diagonal principal
d) da diagonal secundária
e) de todos os elementos da matriz M.
Escrever essas somas e a matriz.

Colombina, vou te ajudar no primeiro exercício, pois nesse você tentou resolver, se eu te ajudar nos outros então estarei resolvendo para você.
Segue alguns comentários do seu código.

Primeiramente recomendo a fazer um for para o usuário preencher todos os valores do vetor, e outro que irá correr todo o vetor em busca do menor valor.

Linha 23: Se todos os 20 valores digitados pelo usuário forem maiores que 20 então seu programa nunca entrará nesse if. O mais correto seria não iniciar nenhuma valor para num e adicionar esse comando na linha 23

if ( ( vet[i] < num ) || (i == 0))  // Se vet[i] for menor que num OU i for igual a 0

Ou seja, o comando for irá percorrer todo o vetor, na primeira iteração do comando for, ou seja, quando i for igual a 0 a variável num irá receber o primeiro valor do vetor, não importa se ele é o menor ou não, pois nas próximas iterações do comando for o i não será igual a 0, então o if irá testar se o índice atual do vetor é menor que o primeiro valor dele, ou se é menor que o valor que era o menor…

Linha 25: Não entendi direito o uso do método min, não teria que ser usado Math.min? De qualquer jeito esse método não é necessário no algoritmo, se o comando if, linha 23, for verdade, ou seja, for encontrado num número menor que num, ou for a primeira iteração do comando for então o menor valor será salvo na variável num, e o valor de i, que corresponde ao índice atual do vetor, ou seja, a sua posição, deverá ser salvo em uma outra variável. Então uma outra variável, que guardará a posição do menor valor deverá ser criada.

Ou seja, o trecho de código ficará assim:


// Comando for onde o usuário irá preencher todo o vetor
for(int i=0;i<20;i++){    
       vet[i]=Integer.parseInt(JOptionPane.showInputDialog("Preencha o vetor:"));    
    }

// Comando for que irá percorrer todo o vetor em busca do menor valor
for(int i=0;i<20;i++){    
    if( (vet[i] < num) || (i == 0)){    
       num =    vet[i];
       posicao = i;           // Variável que irá guardar a posição do menor valor
       }  
  }

INTÈ!

Exercicio 2

package variados;

import java.util.Scanner;

public class Exercicio2 {

	private int[] entrada(String nome) {
		int[] vetor = new int[10];
		for (int i = 0; i < vetor.length; i++) {
			System.out.print("Entre com o numero da posicao " + (i + 1)
					+ " da " + nome + ": ");
			vetor[i] = new Scanner(System.in).nextInt();
		}
		return vetor;
	}

	private int[] calculaMatC(int[] arrA, int[] arrB) {
		int[] matC = new int[10];
		System.out.print("\nMatriz C: ");
		for (int i = 0; i < 10; i++) {
			matC[i] = (arrA[i] * arrB[i]);
			System.out.print("" + matC[i] + " ");
		}
		return matC;

	}

	public void imprimeArray(int[] mat) {
		for (int i = 0; i < 10; i++) {
			System.out.print(mat[i] + " ");
		}
	}

	public void executar() {
		int[] matA = entrada("Matriz A");
		int[] matB = entrada("Matriz B");
		System.out.print("Matriz A: ");
		imprimeArray(matA);

		System.out.print("\nMatriz B: ");
		imprimeArray(matB);
		calculaMatC(matA, matB);
	}

	public static void main(String[] args) {
		Exercicio2 exe2 = new Exercicio2();
		exe2.executar();

	}
}

Talvez tenha um melhor jeito de fazer, mas segue o jeito que eu fiz…


package variados;

import java.util.Scanner;

public class Exercicio3 {
	int vetor[] = new int[5];

	public void lerVetor() {
		Scanner sc = new Scanner(System.in);

		for (int i = 0; i < vetor.length; i++) {
			System.out.print("Digite o " + (i + 1) + "º número: ");
			vetor[i] = sc.nextInt();
		}
	}

	public void mostrarVetor() {
		int numPares = 0;
		System.out.print("Vetor: ");
		for (int i = 0; i < vetor.length; i++) {
			if (vetor[i] % 2 == 0) {
				numPares++;
			}
			System.out.print(vetor[i] + " ");
		}

		System.out.println("\nTotal de números pares: " + numPares);
	}

	public void executar() {
		lerVetor();
		mostrarVetor();
	}

	public static void main(String[] args) {
		Exercicio3 ex3 = new Exercicio3();
		ex3.executar();
	}

}