Java matriz menor_numero_linha_cinco e menor_numero_coluna_sete ficam zerados
8 respostasResolvido
java
P
pacholita
eai galera ainda sou um iniciante em java
não consigo encontra o motivo da variável menor_numero_linha_cinco e menor_numero_coluna_sete não receber o menor número
obs: inicializei as variáveis menor_numero_linha_cinco e menor_numero_coluna_sete com o valor de 9
importjava.util.Scanner;/*Gere e imprima uma matriz M 10x10 com valores aleatórios entre0-9. Após isso indique qual é o maior e o menor valor da linha 5 equal é o maior e o menor valor da coluna 7. */publicclassEx2_Matriz{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);//declarando matrizintmatriz[][]=newint[10][10];//declarando variáveis intnum=0;intmaior_linha_cinco=0;intmenor_linha_cinco=9;intmaior_coluna_sete=0;intmenor_coluna_sete=9;System.out.println("!!! insira valores entre 0-9 !!!");//inicializando a matrizfor(inti=0;i<10;i++){for(intj=0;j<10;j++){System.out.print("insira número: ");num=scan.nextInt();matriz[i][j]=num;//condição para ser o maior número na linha cincoif(matriz[5][j]>maior_linha_cinco){maior_linha_cinco=matriz[5][j];}//condição para ser o menor número na linha cincoif(matriz[5][j]<menor_linha_cinco){menor_linha_cinco=matriz[5][j];}//condição para ser o maior número na coluna seteif(matriz[i][7]>maior_coluna_sete){maior_coluna_sete=matriz[i][7];}//condição para ser o menor número da coluna seteif(matriz[i][7]<menor_coluna_sete){menor_coluna_sete=matriz[i][7];}}}//mostrando a saída da matrizfor(inti=0;i<10;i++){for(intj=0;j<10;j++){System.out.print(matriz[i][j]+" ");}System.out.println("");}//mostrando o maior e menor número da linha cinco e coluna seteSystem.out.println("maior número da linha cinco: "+maior_linha_cinco);System.out.println("menor número da linha cinco: "+menor_linha_cinco);System.out.println("maior número da coluna sete: "+maior_coluna_sete);System.out.println("menor número da coluna sete: "+menor_coluna_sete);}}
O problema é que as matrizes são sempre inicializadas com 0. Logo seu segundo if vai ser verdadeiro na primeira interação do loop e a sua variável receberá 0. O mesmo vale para o último. Verificando se você está na linha 5 ou na culuna 7, já vai ser suficiente, acredito eu.
obrigado @Jelson1 nem passou pela minha cabeça que as matriz são iniciadas(tinha esquecido desse detalhe kk ) com zero. eu coloquei desse jeito que vc mencionou agora a variável menor_numero_linha_cinco esta recebendo o valor , mais a menor_numero_coluna sete ainda continua zerada. vou corre atrás desse erro agora obrigado pela ajuda
J
Jelson1
Bom dia @pacholita, testei aqui e aparentemente está correto:
importjava.util.Scanner;/*Gere e imprima uma matriz M 10x10 com valores aleatórios entre0-9. Após isso indique qual é o maior e o menor valor da linha 5 equal é o maior e o menor valor da coluna 7. */publicclassMain{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);//declarando matrizintmatriz[][]=newint[10][10];//declarando variáveis intnum=0;intmaior_linha_cinco=0;intmenor_linha_cinco=9;intmaior_coluna_sete=0;intmenor_coluna_sete=9;System.out.println("!!! insira valores entre 0-9 !!!");//inicializando a matrizfor(inti=0;i<10;i++){for(intj=0;j<10;j++){System.out.print("insira número:\n");num=scan.nextInt();matriz[i][j]=num;//condição para ser o maior número na linha cincoif(i==5&&matriz[5][j]>maior_linha_cinco){maior_linha_cinco=matriz[5][j];}//condição para ser o menor número na linha cincoif(i==5&&matriz[5][j]<menor_linha_cinco){menor_linha_cinco=matriz[5][j];}//condição para ser o maior número na coluna seteif(j==7&&matriz[i][7]>maior_coluna_sete){maior_coluna_sete=matriz[i][7];}//condição para ser o menor número da coluna seteif(j==7&&matriz[i][7]<menor_coluna_sete){menor_coluna_sete=matriz[i][7];}}}//mostrando a saída da matrizfor(inti=0;i<10;i++){for(intj=0;j<10;j++){System.out.print(matriz[i][j]+" ");}System.out.println("");}//mostrando o maior e menor número da linha cinco e coluna seteSystem.out.println("maior número da linha cinco: "+maior_linha_cinco);System.out.println("menor número da linha cinco: "+menor_linha_cinco);System.out.println("maior número da coluna sete: "+maior_coluna_sete);System.out.println("menor número da coluna sete: "+menor_coluna_sete);}}
Só tem um detalhe os índices da sua matriz variam de 0 a 9. Então quando você fala linha cinco, seria a linha de índice 5 ou a quinta linha. Se for a quinta linha o índice dela seria 4. Mas isso só é uma dúvida minha mesma!
P
pacholita
estou falando da linha de indice 4
P
pacholita
eu executei esse código e esta funcionando corretamento
P
pacholita
agora quando eu executo o meu a variável menor_coluna_sete ainda continua zera, já tentei um monte de coisa e ainda fica nesse erro
importjava.util.Scanner;/*Gere e imprima uma matriz M 10x10 com valores aleatórios entre0-9. Após isso indique qual é o maior e o menor valor da linha 5 equal é o maior e o menor valor da coluna 7. */publicclassEx2_Matriz{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);//declarando matrizintmatriz[][]=newint[10][10];//declarando variáveis intnum=0;intmaior_linha_cinco=0;intmenor_linha_cinco=9;intmaior_coluna_sete=0;intmenor_coluna_sete=9;System.out.println("!!! insira valores entre 0-9 !!!");//inicializando a matrizfor(inti=0;i<10;i++){for(intj=0;j<10;j++){System.out.print("insira número: ");num=scan.nextInt();matriz[i][j]=num;//condição para ser o maior número na linha cincoif(i==5&&matriz[5][j]>maior_linha_cinco){maior_linha_cinco=matriz[5][j];}//condição para ser o menor número na linha cincoif(i==5&&matriz[5][j]<menor_linha_cinco){menor_linha_cinco=matriz[5][j];}//condição para ser o maior número na coluna seteif(i==7&&matriz[i][7]>maior_coluna_sete){maior_coluna_sete=matriz[i][7];}//condição para ser o menor número da coluna seteif(i==7&&matriz[i][7]<menor_coluna_sete){menor_coluna_sete=matriz[i][7];}}}//mostrando a saída da matrizfor(inti=0;i<10;i++){for(intj=0;j<10;j++){System.out.print(matriz[i][j]+" ");}System.out.println("");}//mostrando o maior e menor número da linha cinco e coluna seteSystem.out.println("maior número da linha cinco: "+maior_linha_cinco);System.out.println("menor número da linha cinco: "+menor_linha_cinco);System.out.println("maior número da coluna sete: "+maior_coluna_sete);System.out.println("menor número da coluna sete: "+menor_coluna_sete);}}
J
Jelson1
Opa nas duas condições acima não é i == 7, mas sim, j == 7. Isso nos Ifs que se refere à coluna. Dá uma olhada de novo na solução que postei acima.
Se for assim você deve mudar o índice 5 para 4 nos IFs da linha e o índice 7 para 6 nos IFs da coluna.