1189 area esquerda
Fala pessoal! Blz?
Onde estou errando aqui? Consegui fazer as acima e abaixo, mas essas dos lados, empaquei...
var operacao = lines.shift()
var posicao = []
var valor = 0
var m = 1
for(let i = 0; i < 12; i++){
valor = i*12
if(i <= 5){
for(var j = 0; j < 12; j++){
posicao.push(valor + j)
}
} else {
for(var j = 0; j < 12 - i + m; j++){
posicao.push(valor + j)
}
m++
}
}
var soma = 0
var elementos = 0
for(let i = 0; i < 144; i++){
var num = parseFloat(lines.shift())
if(posicao.indexOf(i) != -1){
soma += num
elementos++
}
}
if(operacao === 'S'){
console.log(soma.toFixed(1))
} else {
const media = soma / elementos
console.log(media.toFixed(1))
}
Obrigado desde já!
- CCamila Vieira @CamilaVieira
Oi, Alexandre. Primeiro, você não declarou a variável posição... E outra coisa, você tem que observar que em cada linha o número de colunas contadas muda, então da forma que você fez, com o j indo até < 12 não vai dar certo.
- CEm resposta aalexandrePaiva⬆:Camila Vieira @CamilaVieira
Oi, Alexandre. Não sei se entendi bem seu código, mas vou tentar te ajudar.
No primeiro "for" você está preenchendo a matriz? A matriz tem que ser preenchida com os números de entrada, que o próprio beecrowd fornece. Cada linha é um valor.
Seu segundo "for" acredito que esteja fazendo a soma das posições desejadas. No entanto, como mostra a figura do exercício, as linhas contadas devem ser apenas as em verde e as colunas também. São contadas as linhas de 1 a 10, e as colunas contadas mudam a cada linha (na primeira linha apenas uma coluna, na segunda linha duas colunas, etc.). Sendo assim, penso que um loop que executa 144 vezes não é adequado.
Você teria que fazer um loop para linhas e um loop pra colunas, fazendo a soma apenas das posições ([linha][coluna]) em verde. Perceba que das linhas 1 a 5 o número de colunas vai aumentando, e das linhas 6 a 10 as linhas vão diminuindo.
Espero que tenha esclarecido um pouco, qualquer coisa só responder aqui 😊
Em resposta aalexandrePaiva⬆:Christian Amsberg Janner @calemaoO seu código parece estar incompleto, pois não inclui a declaração ou inicialização das variáveis lines e operacao, que são essenciais para o funcionamento do programa. Certifique-se de definir a variável lines com os valores de entrada e a variável operacao com 'S' para soma ou 'M' para média, conforme a operação desejada, antes de executar o código.