4ª Prova - correção

1ª questão
A partir de uma matriz quadrada de inteiros fornecida no próprio programa, faça o que se pede em cada item.
Para saber a quantidade de linhas e colunas que a matriz possui é só usar: m.length
Exemplo de uma matriz 9 x 9:
int[][] m = {
{12,34,56,67,78,89,12,34,34},
{42,43,43,54,65,76,87,87,87},
{11,22,33,44,55,66,77,88,99},
{14,25,36,47,58,69,68,79,80},
{98,87,76,65,76,54,43,32,21},
{99,88,55,44,33,22,11,22,33},
{61,73,84,95,85,86,87,87,88},
{11,11,99,88,77,77,77,55,55},
{34,54,24,37,47,57,97,87,89}};

a) Exibir os elementos do triângulo inferior relativo à diagonal principal da matriz.
b) Exibir os elementos da diagonal secundária. Construa o algoritmo da forma mais simples.

public class MatrizQuadrada {
    public static void main(String[] args) {
        int[][] m = {    
                {12,34,56,67,78,89,12,34,34},
                {42,43,43,54,65,76,87,87,87},
                {11,22,33,44,55,66,77,88,99},
                {14,25,36,47,58,69,68,79,80},
                {98,87,76,65,76,54,43,32,21},
                {99,88,55,44,33,22,11,22,33},
                {61,73,84,95,85,86,87,87,88},
                {11,11,99,88,77,77,77,55,55},
                {34,54,24,37,47,57,97,87,89}};
 
        // exibe o triângulo inferior
        for(int l = 1; l < m.length; l++) {
            for(int c = 0; c <= l-1; c++)
                System.out.print(m[l][c] + " ");
            System.out.println();
        }
 
        System.out.println();
 
        // exibe a diagonal secundária
        for(int d = 0; d < m.length ; d++)
            System.out.print(m[m.length - d - 1][d] + " ");
    }
}

2ª questão
Faça um programa para receber do usuário 100 números inteiros quaisquer. Em seguida exiba aqueles que forem menores do que a média aritmética de todos os 100 valores informados.

import java.util.Scanner;
public class MenoresMedia {
    public static void main(String[] args) {
 
        // declaração do vetor capaz de armazenar 100 valores
        double[] valores = new double[100];
 
        // entrada dos 100 valores
        double soma = 0;
        for(int contador = 0; contador < 10; contador++) {           
            System.out.println("Entre com o valor "+(contador+1));
            // o elemento do vetor ‘notas’ cuja posição é ‘contador’ recebe a entrada
            valores[contador] = new Scanner(System.in).nextDouble();
            soma = soma + valores[contador];
            contador = contador + 1;
        }
        // cálculo da média:
        double media = soma/100;
 
        System.out.println("Valores maiores do que a média "+media);
        // pesquisa no vetor, dos elementos maiores do que a média
        for(int contador = 0; contador < 100; contador++) {           
            if(valores[contador] < media) {
                System.out.println(valores[contador]);
            }
        }
    }
}

3ª questão
Elabore um programa para calcular a distribuição de freqüência de valores sorteados de 0 a 9.
A quantidade de valores será determinada pelo usuário.

Suponha que o usuário informe a quantidade 15 e os valores sorteados sejam: 4,5,7,8,9,1,8,2,4,3,2,5,6,7,0

A saída do programa deverá ser exatamente como mostrado abaixo:

Número 0: 1 vez
Número 1: 1 vez
Numero 2: 2 vezes
Número 3: 1 vez
Número 4: 2 vezes
Número 5: 2 vezes
Número 6: 1 vez
Número 7: 2 vezes
Numero 8: 2 vezes
Número 9: 1 vez

import java.util.Scanner;
 
public class Frequencia {
    public static void main(String[] args) {
 
        // pergunta ao usuário a quantidade de valores
        System.out.println("Quantos valores são?");
        int qtde = new Scanner(System.in).nextInt();
 
        // declara o vetor para armazenar a frequencia dos números de 0 a 9
        int[] frequencia = new int[10];
 
        int numeroSorteado;
        System.out.println("Sorteando números...");
        for(int c = 0; c < qtde; c++) {
            // sorteia um número de 0 a 9
            numeroSorteado = (int)(Math.random()*10);
            frequencia[numeroSorteado]++; 
        }
 
        System.out.println("Resultado da distribuição de frequencia:");
        for(int n = 0; n < 10; n++) {
            System.out.print("Numero "+n+": "+frequencia[n]);
            if(frequencia[n] == 1) 
                System.out.println(" vez");
            else
                System.out.println(" vezes");
 
        }
    }
}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License