- Link para a lista de exercícios sobre vetor.
Escreva aqui suas dúvidas/descobertas/contribuições:
Dica: para colocar o seu código clique no botão 'code block wizard' escolha 'Java' e 'insert code'. Agora é só copiar e colar o programa do eclipse para a linha 'insert the code here'. Ou então, simplesmente coloque o seu código entre [[code type="Java"]] ... [[/code]]
Veja os exemplos a seguir:
Resolução do exercício 1
/* Lê 5 nomes e notas de uma turma, calcula e exibe a média das notas da turma e em seguida exibe a relação de nomes cuja nota é superior a esta média */ import java.util.Scanner; public class ExemploVetor { public static void main(String[] args) { String[] nomes; nomes = new String[5]; double[] notas = new double[5]; double soma = 0, media; for (int i = 0 ; i <= 4 ; i++){ System.out.println("Entre com o nome do aluno nº "+(i+1)); nomes[i] = new Scanner(System.in).nextLine(); System.out.println("Entre com a nota do aluno nº "+(i+1)); notas[i] = new Scanner(System.in).nextDouble(); soma = soma + notas[i]; } media = soma / 5; System.out.println("A média dos alunos é: "+ media); System.out.println(); System.out.println("Lista dos alunos cuja nota é superior a média da turma"); for(int i = 0; i <= 4; i++) { if(notas[i] > media) System.out.println(nomes[i]); } } }
Responsabilidades dos exercícios da lista:
2. Leia um conjunto de notas, cuja quantidade seja determinada pelo usuário. Calcule a média de todas elas. Exiba o conjunto das notas maiores do que a média calculada. Em seguida, de forma agrupada, exiba o outro conjunto de notas (menores do que a média).
Anderson Lourenço, Breno e Claudiane
Resolução do Exercício 2. Claudiane Lenke import java.util.Scanner; public class exercicio_2 { public static void main(String[] args) { int quantidade; double media = 0; System.out.println("Informe a quantidade de notas:"); quantidade = new Scanner(System.in).nextInt(); double vetor[]; vetor=new double[quantidade]; for(int i=0 ; i <quantidade ; i++){ System.out.println("Informe a " +(i+1)+ "ª nota"); vetor[i]=new Scanner(System.in).nextInt(); } for(int i=0 ; i <quantidade ; i++){ media = media + vetor[i]; } media = media / quantidade; System.out.println ("A média é : " +media); String maior= "Nota(s) acima média : ", menor= "Nota(s) abaixo da média: "; for(int i=0 ; i<quantidade ;i++){ if(vetor[i]> media){ maior = maior + vetor[i]+" "; }else{ menor = menor + vetor[i]+" "; } } System.out.println(maior); System.out.println(menor); } }
3. Leia um conjunto de alunos, cada uma com o nome e a nota. Em seguida exiba o nome dos alunos que possuem a nota maior do que a média da turma.
Diego Roberto, Elias Teixeira e Felipe Juliano
Resolução do exercício 3 Diego Roberto import java.util.Scanner; public static void main(String[] args) { int soma=0, media=0, qaluno=0; System.out.println("Informe a Quantidade de Alunos q serão Cadastrados"); qaluno= new Scanner(System.in).nextInt(); String[] nome = new String[qaluno]; int[] nota = new int[qaluno]; for (int i=0; i<qaluno; i++) { System.out.println ("Insira o Nome do Aluno nº " + i); nome[i] = new Scanner(System.in).nextLine(); System.out.println ("Insira a Nota do Aluno nº " + i); nota[i] = new Scanner(System.in).nextInt(); soma= soma + nota[i]; } media= soma/qaluno; System.out.println("Alunos c/ Nota Maior que a Média da Turma"); for (int i=0; i<qaluno; i++) { if (nota[i]>media){ System.out.print(nome[i] + " - "); System.out.println(nota[i]); } } } } // A lógica que o Diego Roberto usou ficou legal. Eu só mudaria uma coisinha! // Porque na hora em que você roda o programa ele inicia da seguinte maneira: //''informe o nome do aluno nº 0, e a nota do aluno nº 0''. Então uma dica que eu daria seria // colocar um (i+1) assim o contador irá se iniciar com 1 e ficará da seguinte maneira ''informe // o nome do aluno nº 1:'', acho que fica mais bacana. Sei lá minha opinião. // Obrigado pela dica (Diego Roberto)
Resolução do exercício 3 Felippe Juliano da Silva import java.util.Scanner; public static void main(String[] args) { int VSoma=0, VMedia=0, VAluno=0; System.out.println("Coloque o numero maximo de cadastro para alunos"); VAluno= new Scanner(System.in).nextInt(); String[] nome = new String[VAluno]; int[] nota = new int[VAluno]; for (int x=0; x<VAluno; x++) { System.out.println ("Coloque o nome do aluno nº " + x); nome[x] = new Scanner(System.in).nextLine(); System.out.println ("Insira a Nota do Aluno nº " + x); nota[x] = new Scanner(System.in).nextInt(); VSoma= VSoma + nota[x]; } VMedia= VSoma/VAluno; System.out.println("Alunos que tiverão nota suficiente para passar de periodo"); for (int i=0; i<VAluno; i++) { if (nota[i]>media){ System.out.print(nome[i] + " - "); System.out.println(nota[i]); } } } }
//Resolução do exercício 3 //Elias Teixeira Miranda import java.util.Scanner; public static void main(String[] args) { int soma=0, media=0, quantidadeDeAlunos=0; System.out.println("Informe a Quantidade de alunos a serem cadastrados:"); quantidadeDeAlunos= new Scanner(System.in).nextInt(); String[] nome = new String[quantidadeDeAlunos]; int[] nota = new int[quantidadeDeAlunos]; for (int i=1; i<quantidadeDeAlunos; i++) { System.out.println ("Insira o Nome do Aluno nº " + i); nome[i] = new Scanner(System.in).nextLine(); System.out.println ("Insira a Nota do Aluno nº " + i); nota[i] = new Scanner(System.in).nextInt(); soma= soma + nota[i]; } media= soma/quantidadeDeAlunos; System.out.println("Alunos c/ nota maior que a média da turma:"); for (int i=0; i<quantidadeDeAlunos; i++) { if (nota[i]>media){ System.out.print(nome[i] + " - "); System.out.println(nota[i]); } } } }
4.Leia um conjunto de salários, sendo que para terminar a entrada será
fornecido o valor -1. Após toda a entrada ter sido realizada, leia o valor de um reajuste. Em seguida exiba todos os salários já reajustados.
Janine, Jardel, Julia
//Janine, Julia,Jardel package exercicio04; import java.util.Scanner; public class Principal { public static void main(String[] args) { double []vsal; double []nsal; double reaj; nsal = new double [200]; vsal = new double [200]; int cont=1; vsal[0] = 1; while (vsal[(cont-1)]!= -1 ){ System.out.println ("Entre com o valor de salarios:" +1); vsal[cont] = new Scanner(System.in).nextDouble(); cont= cont+1; } System.out.println ("Entre com o valor do reajuste:" +1); reaj= new Scanner(System.in).nextDouble(); for (int a=1; a<=(cont-2); a++ ){ nsal[a]= ((reaj*vsal[a])/100)+ vsal[a]; System.out.println ("Salario(s) com Reajuste:" + nsal[a]); } } } /* Diego Roberto Parabéns pessoal. Eu não rodei o código, mas o que eu provavelmente acrescentaria seria: perguntaria ao usuário a quantidade de salários que ele iria cadastrar e armazenaria o mesmo em uma variável, assim eu poderia usar essa variável dentro dos vetores criados, ao invés de limita-los em 200 posições (nsal = new double [200]; vsal = new double [200];) */
5. Leia um conjunto de valores inteiros e em seguida exiba-os na ordem inversa do que foram digitados.
Lucas, Pedro, Ricardo Nobres
6. Crie um vetor capaz de armazenar 50 números inteiros. Em seguida faça o seu preenchimento automático com os números de 101 a 150, ou seja, na posição número 0 ponha 101, na posição 1 ponha o número 102, e assim sucessivamente.
Em seguida exiba os valores deste vetor.
Robson Leite, Rodrigo da Silva e Ruan
//Ruan Vitor Rocha Loureiro package ex6; public class Exercicio6 { public static void main(String[] args) { int[] n; int c=0; n= new int[50]; for (int i = 101; i < 151 ; i++){ n[c] = i; c++; } for (int i =0; i<=49 ; i++){ System.out.println(n[i]); } } }
//Rodrigo da Silva Lopes package vetor; import java.util.Scanner; public class Ex06 { public static void main(String[] args) { int[] n = new int[50]; for (int i=101; i<=150; i++){ n[i-101] = i; } for (int i=0; i<=49; i++){ System.out.println("Posição: "+(i+1)); System.out.println(n[i]+" "); } } }
//Robson Leite package vetor; public class lista06 { public static void main(String[] args) { int[] n = new int[50]; for (int i=101; i<=150; i++){ n[i-101] = i; } for (int i=0; i<=49; i++){ System.out.println("Posição: "+(i+1)); System.out.println(n[i]); } } }
7. Faça um programa de consulta pela posição numérica da pessoa: leia nomes de pessoas, sendo a quantidade determinada pelo usuário. Logo após a entrada pergunte ao usuário o número do nome que ele gostaria de consultar. Após sua resposta, exiba o nome que fica na posição informada.
Chame atenção do usuário em caso de uma consulta inválida, ou seja, com números menores ou iguais a zero, ou maiores do que a quantidade cadastrada.
Saulo, Tales e Vic Dias
8. Faça um programa de consulta de telefones a partir de um nome informado por uma chave de dados: leia nomes de pessoas com seus respectivos telefones, sendo a quantidade determinada pelo usuário. Em seguida pergunte ao usuário qual o nome que ele deseja consultar o telefone. Após sua resposta, exiba o telefone da pessoa procurada.
Informe também se o nome é inexistente no banco de dados.
Wagner Gaspar, Wagner Passamani e Wellington
Publicado por Wagner Gaspar
package exercicio08vetor; import java.util.Scanner; public class Princiapl { public static void main(String[] args) { int i; System.out.println("Quantas pessoas serão cadastradas?"); i = new Scanner(System.in).nextInt(); int []tel = new int [i]; String []nome = new String [i]; for (int x = 0; x < i; x ++){ System.out.println("cadastre a pessoa número "+(1 + x)); nome [x] = new Scanner(System.in).next(); System.out.println("Cadastre o telefone da pessoa número "+(1 + x)); tel [x] = new Scanner(System.in).nextInt(); } String buscadenome; System.out.println("Digite o nome do cliente."); buscadenome = new Scanner(System.in).next(); boolean inesistente = true; for (int x = 0; x < i; x ++){ if (buscadenome. equals (nome [x])){ System.out.println(nome[x]); System.out.println(tel [x]); inesistente = false; } } if (inesistente){ System.out.println("Nome inexistente"); } } }
9. Leia um conjunto de números. Exiba este conjunto acompanhado do seu elemento simétrico em relação a sua posição no conjunto. Veja o exemplo:
Entrada: 5, 7, 9, 2
Saída:
5 - 2
7 - 9
9 - 7
2 - 5
José Joselito, Wesley, Therla e Fabíola
10. Leia dois conjuntos de números com a mesma quantidade. Exiba a intersecção dos conjuntos, ou seja, os números que são repetidos nos dois conjuntos.
André, Wyhmeister
11. Leia um conjunto de números. Exiba-os em ordem numérica crescente.
Resolução do exercício 11
Solução feita em sala de aula (neste caso somente para 5 elementos):
public class Ordenacao { public static void main(String[] args) { // declara um vetor para 5 inteiros int[] num = new int[5]; System.out.println("Sorteando números..."); // preenche os elementos do vetor com números aleatórios de 10 a 30 for(int i = 0; i < 5; i++) { num[i] = (int)(Math.random()*21)+10; } // a partir deste ponto, o algoritmo irá colocar os números em ordem crescente int aux; boolean trocou = true; while(trocou) { trocou = false; for(int i = 0; i < 4; i++) { if(num[i] > num[i+1]) { aux = num[i]; num[i] = num[i+1]; num[i+1] = aux; trocou = true; } } } // Exibição do resultado da ordenação System.out.println("Vetor ordenado:"); for(int i = 0; i < 5; i++) { System.out.println(num[i]); } } }
Howard Roatti
package vector10; import java.util.Scanner; public class Principal { public static void main(String[] args) { int i = 0, j = 0, quant = 0; double[] num1; double aux; System.out.print("Entre com a quantidade a ser cadastrada: "); quant = new Scanner(System.in).nextInt(); num1 = new double [quant]; for (i = 0; i <= quant - 1; i++){ System.out.print("Entre com o "+ (i + 1) +"º número: "); num1[i] = new Scanner(System.in).nextDouble(); } for (i = 0; i <= quant - 2; i++){ for (j = i + 1; j <= quant - 1; j++){ if( num1[j] < num1[i]){ aux = num1[j]; num1[j] = num1[i]; num1[i] = aux; } } } System.out.println("A ordem correta é: "); for (i = 0; i <= quant - 1; i++){ System.out.print(num1 [i]); if (i < quant - 1) System.out.print(", "); else System.out.print("."); } } }
12. Leia um conjunto de nomes de pessoas. Exiba-os em ordem alfabética crescente.
Howard Roatti e Gustavo Sperandio
package vector11; import java.util.Scanner; public class Principal { public static void main(String[] args) { int i = 0, j = 0, quant = 0; String[] num1; String aux; System.out.print("Entre com a quantidade de pesoas a serem cadastradas: "); quant = new Scanner(System.in).nextInt(); num1 = new String [quant]; for (i = 0; i <= quant - 1; i++){ System.out.print("Entre com o nome da "+ (i + 1) +"ª pessoa: "); num1[i] = new Scanner(System.in).next(); } for (i = 0; i <= quant - 2; i++){ for (j = i + 1; j <= quant - 1; j++){ if( num1[j].compareTo(num1[i]) < 0){ aux = num1[j]; num1[j] = num1[i]; num1[i] = aux; } } } System.out.println("A ordem correta é: "); for (i = 0; i <= quant - 1; i++){ System.out.print(num1 [i]); if (i < quant - 1) System.out.print(", "); else System.out.print("."); } } }
13. Leia dois conjuntos de números (podem ter o tamanho diferente) já ordenados de forma crescente. Crie um outro vetor para armazenar os dois conjuntos unidos, sendo que os números devem permanecer ordenados.
Finalmente, exiba este vetor resultante.
// cria um vetor ordenado de números a partir de ouros dois ordenados public class Exercicio13 { public static void main(String[] args) { int[] a = {5,10,15}; int[] b = {7,8,19,20}; int[] c = new int[a.length + b.length]; // ponteiros para os vetores a, b, c int pa=0, pb=0, pc; for(pc = 0; pc < c.length; pc++) { // se o vetor 'a' foi todo copiado, então copia de 'b' if(pa == a.length) { c[pc] = b[pb]; pb++; } // se o vetor 'b' foi todo copiado, então copia de 'a' else if(pb == b.length) { c[pc] = a[pa]; pa++; } // se o elemento de 'a' é menor então copia ele else if(a[pa] < b[pb]) { c[pc] = a[pa]; pa++; } // se o elemento de 'b' é menor ou igual então copia ele else { c[pc] = b[pb]; pb++; } } // exibe o vetor resultante for(int i = 0; i < c.length; i++) { System.out.println(c[i]); } } }