Segue o um codigo que resolve grande essa questão, somente não tem implementado alguns tratamento de erros. Crie um arquivo com a extensão .cpp e compile. Boa sorte.
#include <iostream>
#include <cstddef>
#include <new>
using namespace std;
/*******************************************
* Classe que efetua os calculos necessarios
* somente para numeros inteiros.
*******************************************/
class Calculo
{
public:
Calculo();
~Calculo();
float getMedia();
unsigned int getMaiorNumero();
unsigned int getMenorNumero();
void adicionaNumero(unsigned int numero);
void informeQuantidadeDeitens();
int getTotalDeElementos();
void imprimiResultados();
private:
int total_elementos;
unsigned int soma_total;
unsigned int *vetor;
void ordenarVetor();
int indice;
};
/******************************
* Construtor da Classe
******************************/
Calculo::Calculo()
{
total_elementos = 0;
soma_total = 0;
vetor = NULL;
indice = 0;
}
/*****************************
* Destrutor
*****************************/
Calculo::~Calculo()
{
delete vetor;
}
/*******************************
* Tira a media
********************************/
float Calculo::getMedia()
{
if((total_elementos != 0)) //Evitar divisão por zero
{
return (soma_total / total_elementos);
}
return 0;
}
/********************************
* Recebe a quantidade de itens
********************************/
void Calculo::informeQuantidadeDeitens()
{
cout << "\nInforme a quantidade de itens: " ;
cin >> total_elementos;
vetor = new unsigned int[total_elementos];
}
/*******************************
* Informa o total de Elementos
*******************************/
int Calculo::getTotalDeElementos()
{
return total_elementos;
}
/*******************************
* Adiciona ao vetor
*******************************/
void Calculo::adicionaNumero(unsigned int numero)
{
if(indice < total_elementos)
{
soma_total += numero;
vetor[indice] = numero;
indice++;
}
}
/*******************************
* Ordena o vetor metodo bolha
*******************************/
void Calculo::ordenarVetor()
{
for(int i = 0; i < (total_elementos-1); i++)
{
for(int j=i+1; j < total_elementos; j++)
{
if(vetor[i] > vetor[j])
{
int temp = vetor[j];
vetor[j] = vetor[i];
vetor[i] = temp;
}
}
}
}
/******************************
* Pega o maior numero
******************************/
unsigned int Calculo::getMaiorNumero()
{
return(vetor[total_elementos-1]);
}
/********************************
* Pega o menor numero
********************************/
unsigned int Calculo::getMenorNumero()
{
return(vetor[0]);
}
/******************************
* Imprimi Resultados
******************************/
void Calculo::imprimiResultados()
{
ordenarVetor();
cout << "\nResultados" << endl;
cout << "\nMedia: " << getMedia();
cout << "\nMaior Numero: " << getMaiorNumero();
cout << "\nMenor Numero: " << getMenorNumero();
}
/****************************
* Rotina Principal
****************************/
int main()
{
Calculo base;
int i = 0, total = 0;
unsigned int temp = 0;
base.informeQuantidadeDeitens();
total = base.getTotalDeElementos();
for(i = 0; i < total; i++)
{
cout << "\nInforme o " << i+1 << " elemento: " ;
cin >> temp;
base.adicionaNumero(temp);
}
base.imprimiResultados();
return 0;
}
faça um programa em c++ que armazena "n" numeros num vetor (n dado pelo usuario) ao termino , exiba o maior e o menor numero, a media dos numeros e e
#include <iostream>
using namespace std;
int main()
{
int n, i, menor, maior, media=0;
cin >> n;
int vet[n];
cin >> vet[0];
menor=vet[0];
maior=vet[0];
media+=vet[0];
for(i=1;i<n;i++){
cin >> vet[i];
if(vet[i]>maior)
maior=vet[i];
if(vet[i]<menor)
menor=vet[i];
media+=vet[i];
}
media=media/n;
cout << "\nMaior: " << maior ;
cout << "\nMenor: " << menor ;
cout << "\nMedia: " << media ;
return 0;
}
Como em C++ podemos declarar as variáveis a qualquer momento, podemos primeiro fazer a leitura do tamanho do vetor (quantidade de números do vetor) e depois declarar o vetor.
A ideia do programa foi realizar as comparações durante a leitura para já encontrar o maior, o menor e a média dos números. Primeiro atribuímos o primeiro valor lido para cada variável (maior e menor) e depois o programa apenas compara com os próximos valores, até o último valor ser inserido. Cada um desses elementos foi salvo em sua respectiva variável e ao final apenas imprimimos essas variáveis.
Para a leitura, como precisamos correr o vetor e ler vários números precisamos de uma estrutura de repetição. Nesse caso foi utilizado o for, porém podemos utilizar também o while ou do while.
#include <iostream>
using namespace std;
int main()
{
int n, i, menor, maior, media=0;
cin >> n;
int vet[n];
cin >> vet[0];
menor=vet[0];
maior=vet[0];
media+=vet[0];
for(i=1;i<n;i++){
cin >> vet[i];
if(vet[i]>maior)
maior=vet[i];
if(vet[i]<menor)
menor=vet[i];
media+=vet[i];
}
media=media/n;
cout << "\nMaior: " << maior ;
cout << "\nMenor: " << menor ;
cout << "\nMedia: " << media ;
return 0;
}
Como em C++ podemos declarar as variáveis a qualquer momento, podemos primeiro fazer a leitura do tamanho do vetor (quantidade de números do vetor) e depois declarar o vetor.
A ideia do programa foi realizar as comparações durante a leitura para já encontrar o maior, o menor e a média dos números. Primeiro atribuímos o primeiro valor lido para cada variável (maior e menor) e depois o programa apenas compara com os próximos valores, até o último valor ser inserido. Cada um desses elementos foi salvo em sua respectiva variável e ao final apenas imprimimos essas variáveis.
Para a leitura, como precisamos correr o vetor e ler vários números precisamos de uma estrutura de repetição. Nesse caso foi utilizado o for, porém podemos utilizar também o while ou do while.
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar