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
import java.util.Scanner;
/*
Gere e imprima uma matriz M 10x10 com valores aleatórios entre
0-9. Após isso indique qual é o maior e o menor valor da linha 5 e
qual é o maior e o menor valor da coluna 7.
*/
public class Ex2_Matriz {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//declarando matriz
int matriz[][] = new int[10][10];
//declarando variáveis
int num = 0;
int maior_linha_cinco = 0;
int menor_linha_cinco = 9;
int maior_coluna_sete = 0;
int menor_coluna_sete = 9;
System.out.println("!!! insira valores entre 0-9 !!!");
//inicializando a matriz
for(int i = 0; i < 10; i++) {
for(int j = 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 cinco
if(matriz[5][j] > maior_linha_cinco) {
maior_linha_cinco = matriz[5][j];
}
//condição para ser o menor número na linha cinco
if(matriz[5][j] < menor_linha_cinco) {
menor_linha_cinco = matriz[5][j];
}
//condição para ser o maior número na coluna sete
if(matriz[i][7] > maior_coluna_sete) {
maior_coluna_sete = matriz[i][7];
}
//condição para ser o menor número da coluna sete
if(matriz[i][7] < menor_coluna_sete) {
menor_coluna_sete = matriz[i][7];
}
}
}
//mostrando a saída da matriz
for(int i = 0; i < 10; i++) {
for(int j = 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 sete
System.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.
//condição para ser o menor número na linha cinco
if(i == 5 && matriz[5][j] < menor_linha_cinco) {
menor_linha_cinco = matriz[5][j];
}
//condição para ser o menor número da coluna sete
if(j == 7 && matriz[i][7] < menor_coluna_sete) {
menor_coluna_sete = matriz[i][7];
}
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
Bom dia @pacholita, testei aqui e aparentemente está correto:
import java.util.Scanner;
/*
Gere e imprima uma matriz M 10x10 com valores aleatórios entre
0-9. Após isso indique qual é o maior e o menor valor da linha 5 e
qual é o maior e o menor valor da coluna 7.
*/
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//declarando matriz
int matriz[][] = new int[10][10];
//declarando variáveis
int num = 0;
int maior_linha_cinco = 0;
int menor_linha_cinco = 9;
int maior_coluna_sete = 0;
int menor_coluna_sete = 9;
System.out.println("!!! insira valores entre 0-9 !!!");
//inicializando a matriz
for(int i = 0; i < 10; i++) {
for(int j = 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 cinco
if(i == 5 && matriz[5][j] > maior_linha_cinco) {
maior_linha_cinco = matriz[5][j];
}
//condição para ser o menor número na linha cinco
if(i == 5 && matriz[5][j] < menor_linha_cinco) {
menor_linha_cinco = matriz[5][j];
}
//condição para ser o maior número na coluna sete
if(j == 7 && matriz[i][7] > maior_coluna_sete) {
maior_coluna_sete = matriz[i][7];
}
//condição para ser o menor número da coluna sete
if(j == 7 && matriz[i][7] < menor_coluna_sete) {
menor_coluna_sete = matriz[i][7];
}
}
}
//mostrando a saída da matriz
for(int i = 0; i < 10; i++) {
for(int j = 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 sete
System.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!
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
import java.util.Scanner;
/*
Gere e imprima uma matriz M 10x10 com valores aleatórios entre
0-9. Após isso indique qual é o maior e o menor valor da linha 5 e
qual é o maior e o menor valor da coluna 7.
*/
public class Ex2_Matriz {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//declarando matriz
int matriz[][] = new int[10][10];
//declarando variáveis
int num = 0;
int maior_linha_cinco = 0;
int menor_linha_cinco = 9;
int maior_coluna_sete = 0;
int menor_coluna_sete = 9;
System.out.println("!!! insira valores entre 0-9 !!!");
//inicializando a matriz
for(int i = 0; i < 10; i++) {
for(int j = 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 cinco
if(i == 5 && matriz[5][j] > maior_linha_cinco) {
maior_linha_cinco = matriz[5][j];
}
//condição para ser o menor número na linha cinco
if(i == 5 && matriz[5][j] < menor_linha_cinco) {
menor_linha_cinco = matriz[5][j];
}
//condição para ser o maior número na coluna sete
if(i == 7 && matriz[i][7] > maior_coluna_sete) {
maior_coluna_sete = matriz[i][7];
}
//condição para ser o menor número da coluna sete
if(i == 7 && matriz[i][7] < menor_coluna_sete) {
menor_coluna_sete = matriz[i][7];
}
}
}
//mostrando a saída da matriz
for(int i = 0; i < 10; i++) {
for(int j = 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 sete
System.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);
}
}