Ir ao conteúdo
  • Cadastre-se
Ricardo Negreiros

RESOLVIDO Dúvida Estrutura 'For'

Recommended Posts

Então pessoal, eu preciso criar um algoritmo que peça ao usuário pra entrar com uma quantidade (Ex.:5), e após, ele peça pro usuário digitar tantos números, conforme a quantidade digitada anteriormente (Ex.:1, 3, 10, 85 ,-6 (5 números, que foi a quantidade digitada pelo usuário anteriormente, no exemplo dado)).

 

Em seguida ele deve ler esses números e:

 

1. Somá-los e apresentar uma média entre eles. (Ex.: media=(1+3+10+85+(-6))/quantidade;); OK! Deu certo!

2. Apresentar o maior número dentre eles. Isn't Ok! :( Help-me!

 

Falta apenas a parte 2 do código, eu não consegui entender como proceder.

 

post-718273-0-51669400-1395927542_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao usuário inserir o número, você pode armazena-lo em uma variável, que guarda o maior valor.

int max;//insira valor 1:if(max < valor1) max = valor1;//insira valor 2:if(max < valor2) max = valor2;

E depois utilize isto para saber qual é a variável com maior valor.

if(max == valor1) //valor1 é a maiorif(max == valor2) //valor2 é a maior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve achar o maior número dentro do próprio "for":.. De início o primeiro valor que a pessoa digitar já é imediatamente assumido como sendo o maior número, aí você tem que ir comparando os próximos números a esse número, se aparecer um outro que é maior que o número armazenado você guarda o novo maior número como sendo o maior.

 

Ou seja, você faz o programa checar ("if()") se é a primeira vez que entrou no for (o contador é 1 no início do for), se sim então "maior" tem que receber o número que a pessoa digitou, se não for você deve então checar ("else if()") se o número que a pessoa digitou é maior que o número que foi guardado anteriormente e substituir conforme necessário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo, tente dessa forma.

if(contador == 1){ // quando for digitado o primeiro valor ele armazena o valor na variável maiormaior = numeros;}if(numeros > maior){ // agora se o proximo numero for maior que o anterior ele coloca esse novo numero no maiormaior = numeros;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vocês acima perceberam que falaram a mesma coisa que falei no primeiro post, porém em outra palavras? Já que querem ajudar o criador do tópico, podem ajuda-lo de outra forma, ou até mesmo complementando minha postagem, não há necessidade de fazer spam  -_- .

 

Abraços e espero que não se ofendam.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, eu sei que disse a mesma coisa que você tinha dito, mas eu postei porque queria dar uma explicação mais clara e completa, ou seja, eu estava fazendo exatamente isso, complementando sua resposta...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo tava tentando fazer isso aqui em casa mais não deu certo não por que ele só pega o primeiro numero com o usuario e não terminava o for ja tento usar outro tipo de laço? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom gente, sou novo por aqui, e confesso que não li os termos, mas o que eu quis dizer foi q se ele colocar as linhas de código que eu disse dentro do for o problema tá resolvido, então não sei se não pode  fazer o código aqui, se isso é contra as regras ou não. Mas tentei ajudar mostrando o código, ele executando com certeza iria entender. Se alguém puder me explicar isso, não posso digitar os códigos direto aqui? ele mostrou o código dele na imagem, eu só complementei. Se puder tenho o código pronto aqui, complementando o dele. Se puderem me esclarecer agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem colegas, valeu a ajuda de todos, o código ficou assim:

 

//Algoritmo Quantidade#include <stdio.h>#include <stdlib.h>void quant(){//inico fun��o quant      int quantidade, contador, maior, numeros;      float media, soma;      printf("Entre com a quantidade:\n");      scanf("%d", &quantidade);      soma=0;      maior=0;      for (contador=1; contador<=quantidade; contador++)      {//inicio 'for'           printf("Entre com um numero inteiro qualquer:\n");           scanf("%d", &numeros);           soma+=numeros;                      if (numeros>maior)               maior=numeros;           else              maior=maior;      }//fim 'for'       media=soma/quantidade;      printf("O maior dos numeros lidos e %d e a media entre eles e %.2f.\n", maior, media);      system("pause");}//fim fun��o quantmain(){//inicio main    while (1)    {//inicio while 1        quant();        system("cls");/*Limpa a tela DOS */    }//fim while 1    system("pause");}//fim main

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.





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

×