Boa noite após ficar um tempo em cima desse algoritmo da matriz 3x3 cheguei a este resultado. nao sei se fiz de maneira certa, mais consegui chegar a um resultado, aceito correção dos Membros, para que possa entender melhor.
bom já de começo como enunciado pede para inicializar coloquei Random numero = new Random(); bom logo abaixo esta o código.
import java.util.Random;
import java.util.Scanner;
/**
* Inicializar uma matriz bidimensional quadrada (3X3) do tipo inteiro, subtrair
* a 3° Coluna dela por 1. Mostrar a matriz original e a resultante.
*
* @author
*
*/
public class Matriz3x3Sub {
public static void main(String[] args) {
int matrizA[][] = new int[3][3];
Random numero = new Random();
for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {
matrizA[l][c] = numero.nextInt(10);
//Scanner digite = new Scanner(System.in);
//System.out.println("Digite valor para Matriz Linha [" + (l + 1)
// + "] Coluna [" + (c + 1) + "]");
//matrizA[l][c] = digite.nextInt();
}
}
// apresentando a matriz
System.out.println("\n Matriz original ");
for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {
//apresenta a minha matriz original
System.out.println("\n matriz [" + (l + 1) + "],[" + (c + 1)
+ "] = " + matrizA[l][c]);
//apresentar le cada linha e coluna ate chegar aoobjetivo que e apnas 3 coluna
if (c == 2)// se coluna for igual a 2, quer dizer que estou na
// terceira coluna e quero apenas os elementos da terceira coluna
matrizA[l][c] = matrizA[l][2] - 1;
//matriz linha e coluna recebe ela mesma linha e coluna -1;
}
}
//dois for para apresentar a matriz resultanti
System.out.println("\nMatriz resultanti ");
for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {
System.out.println("\n\nResultanti [" + (l + 1) + "],[" + (c + 1)
+ "] = " + matrizA[l][c]);
}
}
}
}
matrizA[l][c] = numero.nextInt(10); comecei colocando 3 e logo na linha um coluna um começava com 0, apos colocar o valor 10 nao inicializou com 0 mais seria porque e ate 10 elementos ou não ?
Inicializar uma matriz bidimensional quadrada (3X3) do tipo inteiro, subtrair
a 3° Coluna dela por 1. Mostrar a matriz original e a resultante.
@author
*/
public class Matriz3x3Sub {
public static void main(String[] args) {
int matrizA[][] = new int[3][3];
Random numero = new Random();
// Matriz Inicial
System.out.println("\nMatriz Original :");
for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {
matrizA[l][c] = numero.nextInt(10); // Gerando Matriz Inicial
// Imprimindo Matriz Inicial
System.out.print(matrizA[l][c]+" ");
if(c == 2){
System.out.println(""); // Pula linha ao final da linha
matrizA[l][c] -= 1; // Subtrai 1 das 3º coluna de cada linha
}
}
}
System.out.println("\nMatriz Resultante: ");
for (int l = 0; l <= 2; l++) {
for (int c = 0; c <= 2; c++) {
System.out.print(matrizA[l][c]+" ");
if(c == 2)
System.out.println("");
}
}
}
Caramba ficou bem menor Obrigado Vingdel eu não sabia que logo no inicio eu poderia ja gerar a matriz e dentro do mesmo for imprimi la e logo depois já fazer a sub dentro do mesmo for eu tentei fazer isso mais não deu certo.
[code]matrizA[l][c] = numero.nextInt(10); // Gerando Matriz Inicial
if(c == 2){
matrizA[l][c] -= 1;//isso aqui seria a mesma coisa que eu fiz
matrizA[l][c] = matrizA[l][c] -1;// recebe ela mesma menos 1
//outra questão e eu só não entendi porque aqui inicia com 10
numero.nextInt(10); // significa que vou ter 10 elementos ou seja vai de um a dez ?
[/code]
outra questão que esqueci porque precisa na hora de imprimir a resultanti verificar se coluna e = a 2 de novo
isso aqui numero.nextInt(10); significa que irá escolher números aleatório entre 0 e 10, se colocasse 100 iria escolher a cada vez que rodasse números de 0 a 100. estou certo disso meu caro Vingdel.
[quote=olivercld]isso aqui numero.nextInt(10); significa que irá escolher números aleatório entre 0 e 10, se colocasse 100 iria escolher a cada vez que rodasse números de 0 a 100. estou certo disso meu caro Vingdel.
abraço!!![/quote]
Exato, olivercld, nesse caso, os valores possíveis estão no intervalo [0; 10[, ou seja, de 0 (inclusive) a 10 (exclusive), o 10 é o limite e não entra como possibilidade.