Ir ao conteúdo
  • Cadastre-se
Tiago887

C++ exercicios c++ maior e menor usr

Recommended Posts

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main()
{
    int n1;
    int n2;
    int n3;

    int sum;
    int media;
    int produto;
    int menor;
     
    
    
    cout << "Entre com valor um \n";
    cin >> n1;
    cout << "Entre com valor dois \n";
    cin >> n2;
    cout << "Entre com 3 valor \n ";
    cin >> n3;
    
    sum =  ( n1 + n2 + n3 ) ;
            
    cout << "soma é " << sum << std::endl;
    
    media = ( n1 + n2 + n3 ) /3;
    
    cout << "Media é " << media << std::endl;
    
    produto = ( n1 * n2 * n3 );
    
    cout << "Produto é " << produto << std::endl;
      
    if ( n1 < 0 )
    cout << n1 << "é menor que 0";
    
    return 0;           
}

 

como faço para ver qual o menor e o maior desses digitado pelo usuario consegue faze até produto ai o resto enpacou kkk ?? números   13 27 14 quando a pessoa  entra com esses valores  Soma: 54 Média: 18 Produto: 4914 O menor: 13 O maior: 27

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Tiago887    para  ver qual o maior e menor, você inicia a variável maior com valor zero e a variável menor com um valor  grande como por exemplo 100000 e depois que pegar os números digitados pelo usuário, você faz as comparações :

using namespace std;
int maior=0;
int menor=100000;
if(n1>maior)maior=n1;
else if(n2>maior)maior=n2;
else if(n3>maior)maior=n3;
if(n1<menor)menor=n1;
else if(n2<menor)menor=n2;
else if(n3<menor)menor=n3;
cout<<"maior= "<<maior<<endl;
cout<<"menor= "<<menor<<endl;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma alternativa com aritmética é usar a seguinte equação:

MaiorAB = (a + b + abs(a-b)) / 2

    int i,j,k, maior;

        scanf(" %d%d%d", &i,&j,&k);

        if ((i+j+abs(i-j))/2 == i)

            maior = ((i+k+abs(i-k))*.5);

        else

            maior = ((j+k+abs(j-k))*.5);

abs() é função que retorna sempre o resultado positivo. 

Outra alternativa também é organizar as variáveis em ordem crescente

    int i,j,k;

        if (i>j) {int t = i; i = j, j = t;}
        if (i>k) {int t = i; i = k, k = t;}
        if (j>k) {int t = j; j = k, k = t;}
//Dessa maneira a menor estará em i e a maior estará em k.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <iostream>        // std::cout, std::cin
#include <stdarg.h>        // va_list, va_start, va_end
#include <limits>          // Constante INT_MAX

void MaiorMenor_Numero(size_t quantos_numeros, int* menor, int* maior, ...)
{
    va_list va = { 0 };
    va_start(va, quantos_numeros);
    
    int numero_atual = 0, maior_num = 0, menor_num = INT_MAX;

    for (size_t i = quantos_numeros; i--;)
    {
        numero_atual = va_arg(va, int);
        
        if (numero_atual > maior_num)
            maior_num = numero_atual;
        if (numero_atual < menor_num)
            menor_num = numero_atual;
    }
    
    va_end(va);

    *maior = maior_num;
    *menor = menor_num;
}

int main(void) 
{
    int num1 = 0, num2 = 0, num3 = 0, num4 = 0, num5 = 0;
    int maior_num = 0, menor_num = 0;
    
    std::cout << "Entre com 5 numeros: ";
    std::cin >> num1 >> num2 >> num3 >> num4 >> num5;

    MaiorMenor_Numero(5, &menor_num, &maior_num, num1, num2, num3, num4, num5);
    
    std::cout << "Menor: " << menor_num << "\nMaior: " << maior_num << std::endl;
    
    // Apenas para evitar que o programa feche sem dar tempo do usuário ler
    std::cin.get();
    std::cin.get();
    return 0;
}

 

-------------------------------------------------------------------

 

Segunda alternativa(segue a mesma lógica da primeira apenas com o código um pouco melhor):

#include <iostream> // std::cout, std::cin
#include <vector>   // std::vector
#include <limits>   // Constante INT_MAX

void MaiorMenor_Numero(std::vector<int> vec, int* menor, int* maior)
{
    int maior_num = 0, menor_num = INT_MAX;

    for(std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)
    {
        if (*it > maior_num)
            maior_num = *it;
        if (*it < menor_num)
            menor_num = *it;
    }

    *maior = maior_num;
    *menor = menor_num;
}

int main()
{
    int n = 0, menor = 0, maior = 0, num_in = 0;
    std::vector<int> nums;

    std::cout << "Digite quantos numeros deseja: ";
    std::cin >> n;

    for(int count = 0; count < n; count++)
    {
        std::cout << "Informe o numero " << count + 1 << ": ";
        std::cin >> num_in;
        nums.push_back(num_in);
    }

    MaiorMenor_Numero(nums, &menor, &maior);
    std::cout << "Menor: " << menor << "\nMaior: " << maior << std::endl;

    // Apenas para evitar que o programa feche sem dar tempo do usuário ler
    std::cin.get();
    std::cin.get();
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×