Ola galera, estou fazendo um curso de informática aqui em minha cidade, e o professor mandou fazer o seguinte problema:
criar uma matriz, em que esta some cada linha e mostre o resultado do lado da linha somada , e some cada coluna e mostre o resultado em baixo de cada coluna somada segue um exemplo do que ele quer:
Matriz 3x3
1 2 3 [b]6 [/b]
4 5 6 [b]15[/b]
7 8 9 [b]24[/b]
12 15 18
ele falou que o usuário tem so que informar os numeros da matriz sendo que o resultado mostrado do lado o usuario não terá acesso, ele disse que o codigo tem que ser flexivel, e em estrutura for…
por favor me ajudem, agradeço a compreenção. estou desesperado !!!
OBS aki esta a forma errada do que fiz:
package matriz;
import java.util.Scanner;
public class MatrizExe2 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
final int tamanho = 4;
int matriz[][] = new int [tamanho][tamanho];
int somalin=0, somalin1=0, somalin2=0, somacol=0,somacol1=0, somacol2=0;
int resultado;
for (int linha = 0; linha < 3; linha++){
for (int coluna = 0; coluna < 3; coluna++){
System.out.print("Informe um valor: ");
matriz[linha][coluna] = entrada.nextInt();
if (linha == coluna)
somalin = matriz[0][0] + matriz[0][1] + matriz[0][2];
somalin1 = matriz[1][0] + matriz[1][1] + matriz[1][2];
somalin2 = matriz[2][0] + matriz[2][1] + matriz[2][2];
somacol = matriz[0][0] + matriz[1][0] + matriz[2][0];
somacol1 = matriz[0][1] + matriz[1][1] + matriz[2][1];
somacol2 = matriz[0][2] + matriz[1][2] + matriz[2][2];
}
}
for (int linha = 0; linha < 3; linha++){
System.out.println();
for (int coluna = 0; coluna < 3; coluna++){
System.out.print(matriz[linha][coluna]+ "\t");
}
}
System.out.println(matriz[0][3] = somalin);
System.out.println("\n\nSoma da primeira linha " + somalin);
System.out.println("\n\nSoma da segunda linha " + somalin1);
System.out.println("\n\nSoma da terceira linha " + somalin2);
System.out.println("\n\nSoma da primeira coluna " + somacol);
System.out.println("\n\nSoma da segunda coluna " + somacol1);
System.out.println("\n\nSoma da terceira coluna " + somacol2);
}
}
não está mostrando o resultado no lado de cada linha e de cada coluna, e quando mostrei ao meu professor ele disse que o codigo não era flexivel, que tinha que ser feito em estrutura FOR…
me ajudem estou desesperado!
Acredito que ao citar flexibilidade o seu professor quer dizer em métodos, por exemplo criar um método para receber os números digitados pelo usuário, outro para exibir os resultados na tela… Você esta no caminho certo, tente colocar agora em classes por exemplo:
//recebe os valores das linhas digitadas pelo usuário
void recebeLinhasDaMatriz(){//Implementação}
//recebe os valores das colunas digitadas pelo usuário
void recebeColunasDaMatriz(){//Implementação}
//exibe a soma das linhas e colunas
void exibeSomaDasLinhasEColunas(){//Implementação}
Se não entendeu é só postar…
Abraços…