Exercício - 1435 de Vetores e Matrizes
boa tarde pessoal, gostaria de pedir uma ajudinha para entender o enunciado da questão 1435, se alguém puder me explicar com mais clareza, agradeço muito.
Vi que tem uma pergunta parecida aqui: Beecrowd - 1435 e 1478 ,
Mas mesmo assim ainda fiquei com dúvida sobre o que é pedido, para conseguir construir meu código.
Julio @JulioNessa questao tu vai receber uma entrada N , e vai fazer uma matriz quadrada NxN
Exemplo:
Entrada = 3
Matriz =
1 1 1
1 2 1
1 1 1Acredito que seu problema deva ser quanto aos espaçamentos, que ele exige de 3 justificados a direita. Nesse post que tu mencionou tem uma função que resolve isso, o padStart.
Agora quanto aos valores da matriz, tu vai ter que fazer uso de um método da Lib Math , o Math.min(), em que ele vai pegar o valor da linha, i, o valor da coluna, j, e retornar o menor valor entre eles, Math.min(i, j), e somar + 1 ; Que é o menor número da matriz.let valorMatriz = Math.min(i, j) + 1Espero que tenha esclarecido um pouco.
- CEm resposta aeva⬆:Camila Vieira @CamilaVieira
Estou exatamente nesse exercício, também achei o enunciado bem complicadinho.
Mas pelo que eu entendi você vai receber várias números, um em cada linha.
Cada número representa o tamanho da matriz que você tem que criar. Por exemplo, se você receber o número 5, você vai ter que criar uma matriz 5x5, ou seja, 5 linhas e colunas.
Aí tem uma questão, o modelo da matriz. Os números que você deve colocar em cada linha e cada coluna. As linhas e colunas mais exteriores devem ter o número 1, e indo pro interior esse número deve aumentar.
Por exemplo: 41 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1Repare que as linhas e colunas por fora tem o numero 1, e indo pro centro esse número aumenta. Quanto maior o número que você recebe, maior o número de linhas e colunas, e maior o número que vai ficar nas linhas e colunas centrais da matriz.
Como eu disse, achei bem complicada a questão, também é bem complicado de explicar rsrs mas espero que tenha clareado um pouco pra você.
Em resposta aeva⬆:Matheus Panobianco @matheus_panobiancoOi Alzira. Nesses exercícios em que a lógica complica eu sempre faço o "teste de mesa". Consiste em você literalmente escrever no papel alguns casos pra conseguir enxergar o que somente olhando o enunciado não conseguiu ver.
Por exemplo:11111 12221 12321 12221 11111Se você reparar, o numero 1 contorna a matriz, dentro dele vem um contorno de numero 2 e no centro o numero 3. Essa matriz é uma 5x5. Então o maior número é o tamanho da matriz dividido por 2. No caso, como 5/2 =2.5, aproximamos para 3. Com matrizes quadradas pares, é só dividir por 2 mesmo. E fazendo o teste de mesa, você consegue enxergar que o numero 1 aparece na primeira linha e na primeira coluna inteiras e também na ultima linha e coluna da matriz. Ja o numero 2 aparece na segunda linha e segunda coluna inteiras e também na penúltima linha e coluna. Fazendo esse processo você consegue descobrir o padrão por trás da matriz. E no teste de mesa é sempre bom fazer com dois ou mais exemplos pra você confirmar o padrão.