Ir ao conteúdo

Duvida exercicio simples.


blum4n

Posts recomendados

Postado

Primeiramente muito obrigado por me ajudarem com minhas duvidas...

estou aqui novamente com duvida... o professor de logica nos passou o seguinte exercicio.

3)Escreva um programa que receba a idade de 10 pessoas, calcule e imprima a quantidade de pessoas maiores de 18 anos.

eu consegui fazer estes exercicio desta forma:

#include <stdio.h>
main () {
int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,cont=0;
printf ("informe a idade de 10 pessoas\n");
scanf ("%i %i %i %i %i %i %i %i %i %i", &n1,&n2,&n3,&n4,&n5,&n6,&n7,&n8,&n9,&n10);
if (n1>=18)
cont++;
if (n2>=18)
cont++;
if (n3>=18)
cont++;
if (n4>=18)
cont++;
if (n5>=18)
cont++;
if (n6>=18)
cont++;
if (n7>=18)
cont++;
if (n8>=18)
cont++;
if (n9>=18)
cont++;
if (n10>=18)
cont++;
printf (" \n %i pessoas sao maiores de 18 anos\n", cont);
printf ("\n\n");
system ("pause");
}

existe uma forma mais simples de se fazer?

porque como estamos aprendendo as funções while, for e do while, acho que teria que fazer com essas funções mais eu nao consegi.

se alguem puder ajudar agradeço...

obrigado!

Postado

Pode usar qualquer uma das estruturas de repetição (WHILE, DO...WHILE, FOR). Precisa apenas de 3 variáveis para resolver este problema. Criar uma variável que controle o número de vezes que vai repetir as informações, deve criar apenas uma variável que represente a idade, e uma variável que receba o total de pessoas maiores de 18 anos.

A variável de controle é a condição para você sair do laço, as demais variáveis e a instrução para o usuário entrar com a idade devem ficar dentro do laço.

Tenta aí, depois posta o resultado...

Postado

Tem sim uma forma mais simples de fazer isso.

Primeiramente, criar um vetor de variaveis. int vetor[10]. Uma variavel vetor é uma variavel que recebe varias variaveis.

Com isso, com um for, inicializado em 0 e tendo por condição variaveldecontrole<10, incrementada de 1 em 1, você lê a idade das pessoas, e incrementa a variavel pessoas, que já deve ter sido declarada e inicializada com 0;

Postado

valeu.. muito obrigado... deu certo

ficou assim:

#include <stdio.h>
main () {
int cont=1, idade, maior=0;
while (cont<=10) {
printf (" informe a idade de 10 pessoas \n");
scanf ("%i", &idade);
cont++;
if (idade >=18) {
maior++;
}
}
printf (" %i pessoas sao maiores de 18 anos \n", maior);
system ("pause");
}

eu percebi que a minha dificuldade é a logica mesma, eu nao consigo achar uma saida para resolver esses exercicios simples...

o que voce indica pra eu estudar para melhorar minha logica?

obrigado

Postado

Muito bacana voce estar pedindo ajuda aqui mas eu lhe sugeria como eu tambem estou aprendendo , eu lhe sugeriria a tentar sozinho , eu sei q voce vai quebrar a cabeça talvez passe horas tentando , por outro lado quando voce conseguir vai ser o maximo .

voce vai sentir que aprendeu mais , vai sentir uma sensação otima de realização que você esta conseguindo isso é otimo.

Aqui voce pegou a ideia , sim tem como fazer mais simples voce pode usar os laços de repetiçoes , ou arrays se souber , agora tente sozinho qualquer dificuldade no meio do caminho mande sua duvida OK !!!!

Postado

Bluem4n , Estude um pouco sobre vetor , com ele voce pode Guardar as idades das pessoas , pois deste modo a cada iteração a variavel idade e mudada ( nao sei se esse e o objetivo que voce queria ) , pois fazendo um loop para preencher os dados e outro para somam a quantidade de pessoas maiores de 18 anos , por exemplo :


int idade[10];
int contagem=0;

for ( int i = 0 ; i <10 ; i++) // laço que ira percorrer todo o vetor e preencher cada * // posicao.
{
printf(" DIGITE SUA IDADE : " );
scanf("%d" , &idade[i] ) ;
}

for ( int i = 0 ; i <10 ; i++ )// ira percorrer o vetor em cada posicao
{
if ( idade[i] >= 18 ) // faz uma verificaçao se a idade e maior ou igual 18 na //posicao i
{
contagem++; // Incremento
}
}

printf (" Existe %d %s " , contagem , " que tem mais ou igual a 18 anos ");

a ideia e mais ou menos essa ..

Nao fique esperando os outros fazer por voce , faça voce mesmo , pois colando nao se aprende =D..

Fui Claro???

Espero ter ajudado !!!

abraçosss

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!