Exercício - Vetor

4 respostas
colombina

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...

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);  
  
        }  
    
    }
}

4 Respostas

colombina

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  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.

LeSimoes

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È!

B

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();

	}
}
B

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();
	}

}
Criado 8 de abril de 2012
Ultima resposta 21 de abr. de 2012
Respostas 4
Participantes 3