TÓPICO
Onde está o erro?
hfmiranda perguntou 3 years ago
O código está funcionando sem erros de sintaxe, minha dúvida é como definir os valores das notas atribuidas a cada tecla.. Acho que só isso que falta. Talvez seja bem óbvio, mas no momento está sendo desafiador. Rs, agradeço qualquer ajuda!
let entrada1 = lines.shift().split(' '); // PEGA PRIMEIROS VALORES E DECLARA VARIAVEIS let N = parseInt(entrada1[0]); let Q = parseInt(entrada1[1]); var teclas = [], intervalo = []; let outp = Q; for (let map = 0; map <= N; map++){ // DEFINe NOTAS ASSOCIADAS AS TECLAS teclas[map] = map; if(teclas[map] > 8) teclas[map] %= 9; } var acr0 = 0; // CAPTURAM O VALOR DE ACs PARA QUE EXISTAM FORA DO LOOP var acr1 = 0; for (let rep = 0; rep < N; rep++){ if (rep < Q){ var acorde = lines.shift().split(' '); // RECEBE ACORDES E PROCESSAM OS VALORES var ac0 = parseInt(acorde[0]); var ac1 = parseInt(acorde[1]); acr0 = ac0; acr1 = ac1; } processaNotas(); } function mode(arr){ // ACHA NUMERO MAIS COMUM const frequencia = {}; arr.forEach(valor => frequencia[valor] = frequencia[valor] + 1 || 1); let frequenciaMax = 0; for (let key in frequencia){ if (frequencia[key] > frequenciaMax){ modes = [Number(key)]; frequenciaMax = frequencia[key]; } else if (frequencia[key] === frequenciaMax){ modes.push(Number(key)); } } return modes[modes.length - 1]; } function processaNotas(){ // PROCESSA TODOS OS 'N' PEDIDOS intervalo = []; for (let ind = acr0; ind <= acr1; ind++){ intervalo[ind] = teclas[ind]; } let frequente = mode(intervalo); for (let addInd = acr0; addInd <= acr1; addInd++){ teclas[addInd] += intervalo[addInd]; if (teclas[addInd] > 8) teclas[addInd] -= 9; } console.log(frequente); }
Este tópico ainda não foi respondido. Seja o primeiro!