Ir para conteúdo

POWERED BY:

  • Conteúdo Similar

    • Por andiroldao
      Então, estava trabalhando nesse algoritmo em Portugol e resolvi traduzir para C, porém, se eu entro com dados em veículos maior que 2000, a Média de acidentes em cidades com menos de 2000 veículos de passeio aparece como: -nan. Alguém sabe me dizer onde estou errando?   #include <stdio.h>   int main(void) {     //- Variáveis     int codigo, veiculos, acidentes;     int codigo_menos_acidente = 0;     int codigo_mais_acidente = 0;     int indice_menor_cidade = 0;     int codigo_menor_cidade = 0;     int indice_maior_cidade = 0;          int codigo_maior_cidade = 0;     int soma_acidentes_menor_2000 = 0;     int menor_indice_acidentes = 0;     int maior_indice_acidentes = 0; int soma_geral_de_veiculos = 0; int numero_cidades = 0;     float media_de_veiculos_cidades = 0;     float numero_cidades_veiculos_menor_2000 = 0; float media_de_acidentes_menor_2000 = 0;     char continuar_a_pedir_dados = 1;   do{         //- Entrada de dados         printf("\nEntrada de dados \n\n");     //- Código da cidade;     printf("Insira o Código da Cidade: ");     scanf("%d", &codigo);     //- Número de veículos de passeio;     printf("Insira o número de veículos de passeio: ");     scanf("%d", &veiculos);     //- Número de acidentes de trânsito com vítimas;     printf("Insira número de acidentes de trânsito com vítimas: ");     scanf("%d", &acidentes);       soma_geral_de_veiculos += veiculos;     numero_cidades += 1;       if(acidentes< indice_menor_cidade || indice_menor_cidade == 0) {             codigo_menor_cidade = codigo;             indice_menor_cidade = acidentes;         }     if(acidentes > indice_maior_cidade || indice_maior_cidade == 0) {         codigo_maior_cidade = codigo;             indice_maior_cidade = acidentes;     }     if(veiculos < 2000) {         soma_acidentes_menor_2000 += acidentes;         numero_cidades_veiculos_menor_2000 += 1;     }     if(acidentes < menor_indice_acidentes || menor_indice_acidentes == 0) {         codigo_menos_acidente = codigo;         menor_indice_acidentes = acidentes;     }     if(acidentes > maior_indice_acidentes || maior_indice_acidentes == 0) {             codigo_mais_acidente = codigo;         maior_indice_acidentes = acidentes;     }         printf("\nPara inserir novos dados digite \"1\", para sair do programa digite outro valor: ");     scanf("%s", &continuar_a_pedir_dados);     }     while(continuar_a_pedir_dados == '1');         printf("\n\nResultado da pesquisa\n");           media_de_veiculos_cidades = soma_geral_de_veiculos / numero_cidades;         media_de_acidentes_menor_2000 = soma_acidentes_menor_2000 / numero_cidades_veiculos_menor_2000;     //- Qual o maior índice de acidente de trânsito;     printf("\nMaior índice de acidentes: %d\n", maior_indice_acidentes);     //- Qual cidade pertence o maior índice de acidente de trânsito;     printf("\nCidade com mais acidentes: %.d\n", codigo_maior_cidade);     //- Qual o menor índice de acidente de trânsito;     printf("\nMenor índice de acidentes: %d\n", menor_indice_acidentes);     //- Qual cidade pertence o menor índice de acidente de trânsito;     printf("\nCidade com menos acidentes: %d\n", codigo_menor_cidade);     //- Qual a média de veículos nas0 cidades juntas;     printf("\nMédia de víiculos: %.f\n", media_de_veiculos_cidades);     //- Qual a média de acidentes de trânsito nas cidades com menos de 2000 veículos de passeio.     printf("\nMédia de acidentes em cidades com menos de 2000 veículos de passeio: %.f\n", media_de_acidentes_menor_2000);       printf("\n"); return 0; }
    • Por nummularius
      Salve, meus amigos!
      Estou começando meus estudos em programação, ainda na fase de lógica da programação.
      O código abaixo é para executar a seguinte tarefa: pegar, através do input (id = "inputValor" no HTML) três valores numéricos, através da função insereValor, colocar esses valores no array recebeValor e depois fazer a média desses valores.
       
      Limitei a função insereValor em 3 valores, e depois a função mediaFunc faz a média desses 3 valores.
      O problema: parece que o loop (while) só retorna o primeiro valor como numérico, os outros valores surgem como isNaN = true. Ou seja, não tenho como fazer o cálculo de média, pois o resultado da NaN.
       
      O que estou fazendo de errado?
      Obrigado.
       
      <meta charset = "UTF-8"> <input id = "inputValor" /> <button id = "botaoInsere">Inserir</button> <p id = "pegaTexto"></p> <script type="text/javascript"> function mediaFunc(v1, v2, v3){ var media = parseInt((v1 + v2 + v3) / limite); return media; } function insereValor(){ while(posicao < limite) { //pega o valor inputado no campo em branco. recebeValor.push(parseInt(document.getElementById("inputValor").value)); //acrescenta uma posição no array. Ou seja, vai para a próxima posição. posicao++; inputValor.focus(); return recebeValor; } mediaFunc(); inputValor.focus(); } var posicao = 0; var limite = 3; var recebeValor = []; var botaoInsere = document.getElementById('botaoInsere'); botaoInsere.onclick = insereValor; </script>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.