Ir ao conteúdo
  • Cadastre-se
robersoncomputer

Problema de lógica na matriz 10x10

Recommended Posts

minha matriz digitada pelo usuário nao esta sendo impressa antes estava agora nao esta mais me perdi ja nao consigo continuar, gostaria que me explicassem como troco a diagonal secundaria pela principal ? estou tentando tem mais coisas a ser feita mais primeiro me ajuda com estas duvidas assim que for terminando o código e tiver duvida posto mais alem dessa duvidas.

trocar diagonal secundaria pela principal

import javax.swing.JOptionPane;

public class Matriz_bidimen {

public static void main(String[] args) {

int matO[][] = new int[10][10];

// int matB[][] = new int[10][10];

// int cont = 0;

int temp;

String mensagem = " ";

int linha, coluna;

JOptionPane.showMessageDialog(null, "Matriz : ");

for (linha = 0; linha < 10; linha++)

for (coluna = 0; coluna < 10; coluna++) {

// cont++;

// matO[linha][coluna] = cont;

matO[linha][coluna] = Integer.parseInt(JOptionPane

.showInputDialog(null, " DIGITE VALORES DA MAT["

+ linha + "] [" + coluna + "] : "));

// mensagem = mensagem + "\n valores" + matO[linha][coluna];

// JOptionPane.showMessageDialog(null, mensagem);

}

// apresentando a matriz

for (linha = 0; linha < 10; linha++)

for (coluna = 0; coluna < 10; coluna++) {

mensagem = mensagem + "\n mat[" + linha + "][" + coluna

+ "] : " + matO[linha][coluna];

}

JOptionPane.showMessageDialog(null, "mensagem");

// troca a diagonal secundaria pela primaria

for (linha = 0; linha < 10; linha++)

for (coluna = 0; coluna < 10; coluna++) {

if (linha + coluna == 9) {

temp = matO[linha][9 ];

matO[linha][9] = // receber a diagonal principal ?

}

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em alguns comandos você colocou // que é de comentários o combilador não vai interpretar os comandos que estiverem depois .

no segundo for valtou um }

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo essa parte entendida agora, como eu pego a diagonal secundaria coloco na principal e pego a principal e coloco na secundaria e isso que nao estou conseguindo, ja pesquisei e estou tentando so que ta enrolado nisso como faço a trocas das tais ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra coisa a onde eu comentei... comentei apenas aquela linha com// nao e pra ler mesmo o que comentei e que durante o desenvolvimento eu fui testando e nao quero usar quero que o usuário digite a matriz os valores,nao quero que carregue automático... e se colocar mais uma chave da erro... o exercício pede para ler uma matriz então usuário tem de digitar os valores.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Cara, você precisará apenas de duas variáveis auxiliar (uma valendo 0) e uma variável definindo a largura da matriz...

int m = 0;
int i = matO.length;
int aux;

O comando matO.length pega o tamanho na horizontal, certo? o.õ (fiquei na dúvida...)

Feito isso, basta apenas ter uma estrutura de repetição pra inverter os números...

Tipo... A posição [0][0] com a [0][10], [1][1] com a [1][9], e por ai vai... (é isso né? o.õ)

Então...

while (i >= 0){
aux = matO[m][m];
matO[m][m] = matO[m][i];
matO[m][i] = aux;
i--;
m++;
}

Só queria que me confirmassem se não falei besteira no uso do ".length" e também sobre a matriz primária e secundária... =P

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×