Calculo de area de retangulos de uma matriz quadrada
13 respostas
M
marconatojr
Boa tarde pessoal, sou novato no Java, gostaria que se alguem pude-se me ajudar estou precisando de um programa para cacular a área do menor retangulo e do maior retangulo de uma matriz quadrada n por n sabendo que a matriz inteira não é o maior retangulo, e a menor celula da matriz também não é um retangulo
O retângulo é um quadrilátero, pois possui 4 lados que podem ou não ser iguais. Quando os lados forem diferentes ela continua recebendo o nome de retângulo, agora quando os 4 lados forem iguais o retângulo poderá ser chamado de quadrado.
Como o enunciado do problema disse que uma célula só não representa o menor retangulo creio que, fica mais ou menos claro, que um retangulo com 1 de altura e 2 de base seria o menor mas, você pode fazer um programa que adicione valores a altura e a base do retangulo ( não excedendo o limite de linhas e colunas da matriz ) para calcular a área dos retângulos e encontrar o menor nesse caso.
No caso do retangulo maior, o enunciado já disse que o que seria um retangulo de 5x5 ( total de linhas e colunas ) não é o maior. Portanto, o que deve ser feito é ir adicionando valores a base e altura e fazer o calculo de áreas para determinar o maior. Você pode armazenar os valores anteriores em um vetor e comparar o maior depois de todos os cálculos.
Espero ter ajudado.
Vingdel
Para calcular a área do menor retângulo basta calcular a área de 2 x 1 ou 1 x 2 e para a área do maior retângulo basta calcular a área de n-1 x n ou n x n-1, onde n é a razão da matriz. Isso levando em conta que o tamanho do lado e da base seja em função de 0,0 e n-1,n ou n,n-1.
Acho que isso pode ajudar.
Abraço e bons estudos!
ViniGodoy
É impressão minha ou vcs estão sugerindo desconsiderar os valores dentro da matriz?
rafaelbortoletto
Quem pode esclarecer isso é o autor do tópico porque se os valores da matriz representam a base e altura de vários retângulos então, esses valores deveriam ser usados para calcular a menor area de um retangulo bem como a maior área do retângulo. Caso contrário, esses valores não servem pois, como o enunciado do problema disse “a menor celula da matriz também não é um retangulo” então deixa a entender que o calculo deve ser feito com a quantidade de célular e não o valor de cada uma.
ViniGodoy
Por mim isso não deixa claro nada. Esse enunciado está confuso.
Se for levar em consideração só o tamanho da matriz, não seria necessário nem ser uma matriz. Bastaria informar a altura e a largura e pronto.
Carlos_Figueiredo
Afinal… o q é a matriz?
A representação de um sistema linear, onde cada linha representa um vetor cuja extremidade serão as extremidades do retangulo?
Carlos_Figueiredo
ViniGodoy:
Por mim isso não deixa claro nada. Esse enunciado está confuso.
Se for levar em consideração só o tamanho da matriz, não seria necessário nem ser uma matriz. Bastaria informar a altura e a largura e pronto.
Se for o q eu estou pensando … essa matriz é a representação algébrica da diagonal desse retangulo, assim, seria necessário descobrir a projeção dessa matriz (vetor) em função de X e Y, para descobrir a base e a altura respectivamente…
Dessa forma, seria preciso calcular
Sendo A = matriz
base = Projecao ortogonal de A em x -> (Notação: Projx A)
altura = Projecao ortogonal de A em y -> (Notação: Projy A)
M
marconatojr
Pessoal deixa eu explicar, preciso desenvolver um programa em java e como sou novato e bem novato, não sei como fazer, mas a o programa é o seguinte dada uma matriz quadrada de ordem N calcular a area do maior retangulo e do menor retangulo dessa matriz, ex se a matriz for de 10 x10 sei que a area do maior retangulo será 9 X 10 e do menor retangulo será sempre 2 X 1, mas não estou sabendo como passar isso para o java . se alguem puder me ajudar agradeço
Vingdel
marconatojr:
Pessoal deixa eu explicar, preciso desenvolver um programa em java e como sou novato e bem novato, não sei como fazer, mas a o programa é o seguinte dada uma matriz quadrada de ordem N calcular a area do maior retangulo e do menor retangulo dessa matriz, ex se a matriz for de 10 x10 sei que a area do maior retangulo será 9 X 10 e do menor retangulo será sempre 2 X 1, mas não estou sabendo como passar isso para o java . se alguem puder me ajudar agradeço
Boa Tarde!
Foi exatamente isso que eu expliquei.... Não tem nenhum mistério nisso!
importjava.util.Scanner;publicclassAreas{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);System.out.println("Digite a dimensao da Matriz: ");intdimensao=entrada.nextInt();int[][]matriz=newint[dimensao][dimensao];// Sem uso, nesse contexto...doublearea_menor=1*2;doublearea_maior=dimensao*(dimensao-1);}}
Veja se é isso aí... ou se a base e a altura dos retângulos na matriz são em função dos valores contido nos índices, aí sim vai ser mais interessante desenvolver o código.
Abraço!
WellingtonRamos
Mas se é um retângulo, porque não poderia ser 10 x 10 o maior? Lembrando que, por definição, um quadrado É um retângulo?
Mas, se for simplesmente isso, pra que os valores da matriz?