Fórum PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Maior e Menor (C++)

3 participantes

Ir para baixo

Maior e Menor (C++) Empty Maior e Menor (C++)

Mensagem por Forken Seg 25 Fev 2019, 13:36

"Criar um algoritmo que leia a quantidade de números que se deseja digitar para que possa ser impresso o maior e menor número digitados."


Eu elaborei um código que encerra com número negativo, contudo estou com dificuldade de adaptar, em todas as minhas tentativas ficou com algum bug.

Código:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(void){

int num, maior=0, menor=0;

setlocale (LC_ALL, "Portuguese");

printf("Digite um número:\n");
scanf("%d", &num);

maior = num;
menor = num;

   while(num>=0)
   {
      if(num>maior)
      {
         maior = num;
      }
      else if(num<menor)
      {
         menor = num;
      }
      else
      {
         printf("\nDigite um número:\n");
         scanf("%d", &num);
      }
   }
   printf("\nMaior número: %d\nMenor número: %d\n\n", maior, menor);

system("pause");
return 0;
}

____________________________________________


"A jornada de mil quilômetros começa com o primeiro passo." (O Rei Leão)



Forken
Forken
Fera
Fera

Mensagens : 588
Data de inscrição : 25/12/2015
Localização : Salvador, Bahia, Brasil

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por smc33 Dom 03 Mar 2019, 05:15

E qual seria o bug?
smc33
smc33
Padawan
Padawan

Mensagens : 69
Data de inscrição : 07/06/2013
Idade : 27
Localização : SP

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por PedroX Dom 03 Mar 2019, 14:32

A parte onde é capturado o número não deveria estar dentro de um else. Deixe-a livre dentro do while.
PedroX
PedroX
Administração
Administração

Mensagens : 995
Data de inscrição : 24/08/2011
Idade : 26
Localização : Campinas - SP

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por Forken Sex 08 Mar 2019, 01:01

Esse programa está rodando corretamente, acredito que seja necessário o else, por causa da primeira vez que captura o número, já que num será maior e menor ao mesmo tempo.

E qual seria o bug?

Mais tarde eu posto alguns.

____________________________________________


"A jornada de mil quilômetros começa com o primeiro passo." (O Rei Leão)



Forken
Forken
Fera
Fera

Mensagens : 588
Data de inscrição : 25/12/2015
Localização : Salvador, Bahia, Brasil

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por PedroX Sex 08 Mar 2019, 20:17

A parte do else era mais por uma questão de reaproveitamento.
Mas a lógica do código parece estar funcionando.
Fiz um teste rápido em Javascript:

Código:
num = parseInt(prompt('Número', 0));

maior = num;
menor = num;

  while(num>=0)
  {
      if(num>maior)
      {
        maior = num;
      }
      else if(num<menor)
      {
        menor = num;
      }
      else
      {
        num = parseInt(prompt('Número', 0));
      }
  }

console.log('Maior: '+maior);
console.log('Menor: '+menor)
Você pode rodar o código apertando F12 no navegador e colando o código na aba Console e apertando enter.

Testei várias possibilidades e os números conferem.
Quais são os bugs?
PedroX
PedroX
Administração
Administração

Mensagens : 995
Data de inscrição : 24/08/2011
Idade : 26
Localização : Campinas - SP

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por Forken Sab 23 Mar 2019, 16:31

Este encerra o programa quando digita um valor negativo, eu gostaria que o usuário optasse por quantas vezes ele deseja digitar.

Por exemplo:
Você deseja verificar quantos números?
4

Digite os números:
3
-5
4
7

Maior: 7
Menor: - 5

____________________________________________


"A jornada de mil quilômetros começa com o primeiro passo." (O Rei Leão)



Forken
Forken
Fera
Fera

Mensagens : 588
Data de inscrição : 25/12/2015
Localização : Salvador, Bahia, Brasil

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por Forken Qui 28 Mar 2019, 07:27

Consegui fazer utilizando vetores.

Código:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main(void)
{
   setlocale(LC_ALL, "Portuguese");
   
   int quantidade, i, maior, menor;
   
   printf("Quantos números você deseja digitar?\n");
   scanf("%d", &quantidade);
   
   int vetor[quantidade];
   
   printf("\nDigite %d números:\n", quantidade);
   for(i=0; i<sizeof(vetor)/sizeof(vetor[0]); i++)
   {
      scanf("%d", &vetor[i]);
   }
   
   maior = vetor[0];
   menor = vetor[0];
   
      for(i=1; i<sizeof(vetor)/sizeof(vetor[0]); i++)
   {
      if(vetor[i]>maior)
      {
         maior = vetor[i];
      }
      if(vetor[i]<menor)
      {
         menor = vetor[i];
      }
   }
   
   printf("\nO maior número: %d\n", maior);
   printf("O menor número: %d\n\n", menor);

system("pause");
return 0;
}

____________________________________________


"A jornada de mil quilômetros começa com o primeiro passo." (O Rei Leão)



Forken
Forken
Fera
Fera

Mensagens : 588
Data de inscrição : 25/12/2015
Localização : Salvador, Bahia, Brasil

Ir para o topo Ir para baixo

Maior e Menor (C++) Empty Re: Maior e Menor (C++)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissão neste fórum:
Você não pode responder aos tópicos