Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal! boa tarde, sou novo aqui no forum do Imaster sou estudante de sistema de informações e estou começando com à linguagem C++. Trago a vocês um probleminha que venho enfrentado com a estrutura de repitação WHILE. para começar criei um algoritmo para um problema no qual ele armazena 5 números e compara qual o maior e o menor dos números digitados. O que acontece é que estou trabalhando apenas com uma váriavel chamada número, e não compreendo como faço para comparar estes cinco números sendo que eu tenho apenas uma váriavel. Sei que a estrutura de repitição me fornece a possibilidade de está criado uma sequência de uma mesma ação desejada ex: digite um número, dai organizando tudo posso fazer com que essa mesma mensagem se repita várias vezes, fazendo com que o usuario possa digitar 5 números ou seja quanto for, mas não consigo encontrar uma forma para comparar esses cinco valores com apenas uma váriavel.
main()
{
int numero,x,menor=0,maior;
for(x=1;x<=5;x++)
{
printf("Digite um numero: ");
scanf("%d",&numero);
maior=numero;
menor=numero;
/* condicional */ if(numero>maior)
{
maior=numero;
}
if(numero<menor)
{
menor=numero;
}
}
printf("\n");
printf("O maior numero e: %d\n",maior);
printf("O menor numero e: %d",menor);
getch();
}
Desde já agradeço a todos que possam me ajudar a compreender este problema que venho infrentado, acredito que deve ser uma questão de semântica que estou tendo problema :unsure:
Israel,
No seu código. Nos primeiros números digitados maior e menor serão iguais.
Talvez uma estrutura:
if(CONDIÇÃO) {
}else {
}
Fosse uma solução mais adequada. Ou utilizar um vetor de int para armazenar os valores e processá-los mais tarde.
Davyd,
O código que você postou é C e não C++. Embora sejam compatíveis, as duas linguagens tem grandes diferenças.
E uma dica, quando postar códigos use a
TAG CODE
assim irá manter a identação do código e a sua organização. Facilitando para que outros usuários do forum posso ajudá-lo.
Espero ter ajudado, FLW! :grin:
Vlw pessoal suas dicas foram muito importantes ficaram muito bem claras! Agradeço à ajuda de todos! tenha um bom dia! :clap: Ah realmente me confundi com a estrutura de repetição While, na verdade coloquei for mesmo! Israel Laurensi, e GBecker é verdade mesmo ainda tenho que me familiarizar com o que é c e c++ as diferenças são minimas mas de suma importância pra mais a frente não evitar fúturos erros.
Davyd, não entendi se você se confundiu ou sei lá, mas a estrutura de repetição que você está usando é FOR, e não WHILE.
O seu código como um todo está quase certo. O erro acontece dentro da estrutura de repetição quando você diz que a variavel MAIOR e MENOR recebem o número digitado. Fazendo isso você estara sempre dizendo para o computador que o maior é aquele numero, o mesmo acontece com o menor.
Segue o código com a implementação correta:
main () {
Espero que você tenha entendido. Abraços.