/* Programa que ler números digitados pelo usuário ate q ele digite 0 , após isso deve imprimir:
a - Total de números lidos.
b - Maior número lido.
c - Média..
d - Menor numero ímpar (caso tenha)..
e - Quantas vezes determinado numero repetiu.
Cheguei a esse resultado, mas acho que minha lógica tá errada. Está funcionando, mas teria outro jeito de fazer ?? E como faço para mostrar os repetidos???
#include <iostream>
using namespace std;
int main()
{
int num[100], contNum=0, cont, menorimpar, maiorNum=0, soma=0, media=0;
bool controle_menorimpar = 0, controle_for = 0;
cout << "Informe os numeros: ";
for(int i = 0; i < 100; i++)
{
cin >> num[i];
if(num[i] != 0)
{
controle_for = 1;
contNum++;
soma+=num[i];
if(num[i] > maiorNum)
{
maiorNum = num[i];
}
if(num[i] % 2 > 0)
{
if(num[i] < menorimpar)
{
menorimpar = num[i];
controle_menorimpar = 1;
}
}
}
else
{
controle_for = 0;
break;
}
}
if(controle_for == 0)
{
media = soma/contNum;
if(controle_menorimpar == 1)
{
cout <<"Menor numero impar: " << menorimpar <<endl;
}
cout <<"Total de numeros digitados: " << contNum<<endl;
cout <<"Maior numero lido: "<< maiorNum <<endl;
cout <<"Media: "<< media <<endl;
}
return 0;
}
Obrigado pela atenção !!!