Matriz

2 respostas
jessicaange

esta certo?
Faça um procedimento que recebe, por parâmetro, uma matriz A(8, 8) e calcula o maior elemento da sua diagonal principal. A seguir, o procedimento deve dividir todos os elementos de A pelo maior encontrado. O procedimento deve retornar a matriz alterada

Import.java.util.*;

Public class matriz{

Public static void main(string.args[ ]){

Float mat= {{0,1,2,3,4,5,6,7},{8,9,10,11,12,13,14,15},....};

        Altera matriz(mat);

}

static void alteramatriz(float m[] [ ]) {

             int maior= n[0] [0];

     for (int l=0;l<m.length;c++){

         if(l==c){

           if(m[l][c] > maior) maior = m[l][c];

        }

}

    for (int l=0;l<m.legth;l++) {

           m[l][c]=m[l][c]/maior;

      }

}//altera matriz

2 Respostas

J

Espero que ajude…

Scanner input = new Scanner(System.in);
float matriz[][] = new float[4][4], maior;

for (int i = 0; i < 4; i++) {// obtem os números para a matriz

	for (int k = 0; k < 4; k++) {

		System.out.println("Informe elemento para matriz:");

		matriz[i][k] = input.nextFloat();

		}

	}

maior = matriz[0][0]; // coloca o priemiro elemento da diagonal como
								// maior

for (int i = 1; i < 4; i++) {// percorre os outros elementos da diagonal
										// prinncipal e compara com o maior

	if (matriz[i][i] > maior) {

		maior = matriz[i][i];
	}

}
		
System.out.println("Maior elemento da diagonal principal: " + maior);
		
System.out.println("Matriz original");

for (int i = 0; i < 4; i++) {
			
	for (int k = 0; k < 4; k++) {

		System.out.print(matriz[i][k] + " ");

	
	}
			
	System.out.println(" ");

}
		
System.out.println(" ");
		
System.out.println("Matriz modificada");
		
for (int i = 0; i < 4; i++) {

	for (int k = 0; k < 4; k++) {

		System.out.print("\t" + (matriz[i][k] / maior) + " ");

	
	}
	System.out.println(" ");

}
WendersonLP
public static int[][] changeMatrix(int[][] matrix) {
        int greater = matrix[0][0];

        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                if (i == j) {
                    if (matrix[i][j] > greater) {
                        greater = matrix[i][j];
                    }
                }
            }
        }

        System.out.println("Greater value of the main diagonal: " + greater);

        int[][] newMatrix = new int[matrix.length][matrix[0].length];
        try {
            for (int i = 0; i < matrix.length; i++) {
                for (int j = 0; j < matrix[i].length; j++) {
                    newMatrix[i][j] = (matrix[i][j] / greater);
                }
            }
        } catch (ArithmeticException arithmetic) {}

        return newMatrix;
    }

Crio que seja essa função que você está querendo. Em relação a ArithmeticException não se preocupe é só para evitar
que caso haja uma divisão por zero, isso faz com que o programa não termine por conta disso.

Criado 12 de dezembro de 2009
Ultima resposta 13 de dez. de 2009
Respostas 2
Participantes 3