Anúncio

Portfólio 5 Programação de computadores


Univesp5.java
C:\Users\Malta\Documents\NetBeansProjects\semana4\univesp5\src\univesp5\Univesp5.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package univesp5;

/**
 *
 * @author Malta
 */
public class Univesp5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        double[][] chop = {{1.0,2.0,3.0},{2.0,3.0,4.0}};
        avaliaMatriz(chop);
    }
    /*Exercício 1
    Escreva um método chamado contaCaracteres que recebe como parâme-
    tro um arranjo de arranjos de caracteres chamado palavras (o qual re-
    presenta um conjunto de palavras) e deverá retornar o número total de
    caracteres presentes nesse arranjo de arranjos.
    */
    public static int contaCaracteres(char[][] palavras){
        int total = 0;
        for(char[] temp : palavras)
            total += temp.length;
        if (total > 0)return total;
        return -1;
    }
    /*Exercício 2
    Escreva um método chamado contaLetra que recebe como parâmetros
    um arranjo de arranjos de caracteres chamado palavras e um caractere
    chamado letra e deverá retornar a quantidade de vezes que o caractere
    letra aparece dentro do arranjo de arranjos.
    */
    public static int contaLetra(char[][] palavras, char letra){
        int total=0;
        for (char[] palavra : palavras) {
            for (int j = 0; j < palavra.length; j++) {
                if (palavra[j] == letra) {
                    total++;
                }
            }
        }
        return total;
    }
    /*Exercício 3
    Escreva um método chamado avaliaMatriz que receba como parâmetro
    uma matriz bidimensional de elementos do tipo double (chamada matriz)
    e imprime três valores (um por linha): a média de todos os elementos da
    matriz, o menor valor da matriz e o maior valor da matriz. Você pode
    assumir que a referência à matriz passada como parâmetro terá valor
    diferente de null e que a respectiva matriz terá mais de um elemento.
    Dica: você só precisará percorrer a matriz inteira uma única vez para
    realizar essas operações.
    */
    public static void avaliaMatriz(double matriz[][]){
        double maior=0, menor, count=0, somatorio=0;
        menor = matriz[0][0];
        for(double[] temp : matriz)
            for(double temp2 : temp){
                if(temp2<menor) menor =  temp2;
                if(temp2>maior) maior =  temp2;
                somatorio += temp2;
                count++;
            }
        System.out.println(menor);
        System.out.println(maior);
        System.out.println(somatorio/count);  
    }
    /*Escreva um método chamado soma3 que receba como parâmetros três
    matrizes de inteiros (chamadas m1, m2 e m3) e retorna null caso essas
    matrizes tenham dimensões diferentes. Caso contrário, deverá criar e
    retornar a referência a matriz correspondente a soma das três matrizes
    passadas como parâmetro.*/
    public static int[][] soma3(int[][] m1, int[][] m2, int[][] m3){
        
        //int a , b;
        final int a = m1.length;
        final int b = m1[0].length;
        //declara matriz de retorno
        int[][] mSoma = new int[a][b];
        //verifica se as matrizes possuem mesmo tamanho de coluna
        if((m1.length == m2.length)&&(m1.length == m3.length)){
            //blza; agora verifica se em cada linha há o mesmo número de elementos
            for(int j=0; j<m1.length; j++){
                //se as linhas da matriz 2 OU a matriz 3 forem diferentes em tamanho, retorna null
                if((m2[j].length == m1[j].length)&&(m3[j].length == m1[j].length)){
                    //tamanhos iguais... então faz a soma                    
                    for(int i = 0; i<m1[j].length; i++)
                        mSoma[j][i]= m1[j][i] + m2[j][i] + m3[j][i];    
                }
                else return null; //caso matrizes sejam diferentes, retorna null
            }
            return mSoma;
        }
    return null;
    }
}

Nenhum comentário:

Postar um comentário

Anúncio