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;
}