Jump to content

Maroto

Members
  • Content count

    4
  • Joined

  • Last visited

Community Reputation

0 Comum

About Maroto

Contato

  • Twitter
    @ItsLeoTeixeira
  1. Ok, consegui resolver. O problema situava-se na minha lógica mesmo. Poderia ser feito de forma bem mais simples e sem necessidade de tantos if(s). Cheguei no seguinte código. <script> //Vetor que guarda os itens. var ingredientes = []; //Variável que guarda quantos itens serão adicionados no vetor ingredientes. var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?")); //Laço para guardar os itens s no vetor. for (var contador1 = 1; contador1 <= quantidade; contador1++){ var item = prompt("Informe o "+contador1+"º item: "); //Variável de verificação. var verifica = true; /*Laço que verifica se o item digitado já existe ou não no vetor ingredientes. Caso exista, exibe alerta e muda o valor da variável verifica para false.*/ for (var contador2 = 0; contador2 < ingredientes.length; contador2++){ if (item == ingredientes[contador2]) { alert("Item já adicionado!"); verifica = false; contador1--; break; } } if (verifica == true){ ingredientes.push(item); } } console.log(ingredientes); </script>
  2. Olá, pessoas. To com um problema nesse exercício. Esse programa deve receber os itens de uma receita digitados por usuário e salvá-los dentro de um vetor, sempre verificando se o item digitado já não consta. Caso conste, deve exibir um alert( ) informando ao usuário que dado item já foi computado anteriormente, senão, deve gravar o item no vetor e repetir esse ciclo até a condição do primeiro for ser saciada. O problema é que quando o usuário digitar um valor que já existe no vetor ingredientes [ ] e o alert( ) do segundo for é exibido, após fechá-lo, o programa não dá continuidade, ou seja, no meu entender, deveria atribuir o valor false para variável verifica, com isso sair do segundo for, em seguida, ler a terceira condição: //Condicional decrementa a variável contador1, caso o item digitado seja repetido e após a primeira iteração. if (contador1 != 1 && verifica == false) { contador1--; verifica = true; } Abaixo deixo o código completo. <script> //Vetor que guarda os itens. var ingredientes = []; //Variável que guarda quantos itens serão adicionados no vetor ingredientes. var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?")); //Variável de verificação. var verifica = true; //Laço para guardar os itens s no vetor. for (var contador1 = 1; contador1 <= quantidade; contador1++){ var item = prompt("Informe o "+contador1+"º item: "); /*Laço que verifica se o item digitado já existe ou não no vetor ingredientes. Caso exista, exibe alerta e muda o valor da variável de verificação para false.*/ for (var contador2 = 0; contador2 < ingredientes.length || verifica != true; contador2++){ if (item == ingredientes[contador2]) { alert("Item já adicionado!"); verifica = false; } } //Condicional que quarda o item digitado na primeira iteração. if (contador1 == 1 && verifica == true){ ingredientes.push(item); } //Condicional que guarda o item após a primeira iteração e caso ele não seja repetido. if (contador1 != 1 && verifica == true){ ingredientes.push(item); } //Condicional decrementa a variável contador1, caso o item digitado seja repetido e após a primeira iteração. if (contador1 != 1 && verifica == false) { contador1--; verifica = true; } } console.log(ingredientes); </script>
  3. Consegui resolver. Reli linha por linha e era apenas um erro de digitação do nome de uma variável e por algum motivo gerou esse erro de memória .-.
  4. Olá, pessoas. Criei um programa com fins de estudo no visualg, cuja finalidade é preencher uma matriz com valores aleatórios e, em seguida, conferir e armazenar numa segunda atriz se o valores gerados são pares ou ímpares. Todavia o programa fica dando um erro ("Access violation at address xxxx in module" visualg30.exe). Não sei se eu que estou errando na lógica, se meu pc está quebrado ou se é um bug do visualg. Abaixo deixo meu código para quem puder me ajudar. Obrigado :) Var // Seção de Declarações das variáveis matriz1: vetor [0..2, 0..2] de inteiro matriz2: vetor [0..2, 0..2] de caractere // Procedimento que gera valores inteiros aleatorios para preencher a matriz1. procedimento preencheMatriz var // Variaveis contadoras i1, i2: inteiro inicio para i1 de 0 ate 1 passo 1 faca para i2 de 0 ate 2 passo 1 faca aleatorio on leia (matriz1[i1,i2]) limpatela aleatorio off fimpara fimpara // Imprimindo a matriz na tela para i1 de 0 ate 1 passo 1 faca para i2 de 0 ate 2 passo 1 faca escreva (matriz1[i1,i2]) fimpara escreval ("") fimpara fimprocedimento // Procedimento que verifica se os valores das posições da matriz1 são pares // ou ímpares. procedimento verificaParImpar var i1, i2: inteiro inicio para i1 de 0 ate 1 passo 1 faca para i2 de 0 ate 2 passo 1 faca se (matriz1[i1, i2] MOD 2=0) entao matriz2[i1,i2] <- "par" escreva(matriz2[i1,i2], " ") senao matriz2[i1,i2] <- "ímpar" escreva(matriz2[i1,i2], " ") fimse fimpara escreval(" ") fimpara fimprocedimento Inicio // Seção de Comandos, procedimento, funções, operadores, etc... preencheMatriz verificaParImpar Fimalgoritmo
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.