Ir para conteúdo

POWERED BY:

Arquivado

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

drk1

Estrutura de repetição

Recommended Posts

Boa tarde Srs.

 

Estou com o seguinte problema em mãos, me parece meio simples mas não consigo uma logica pra resolve-lo estou iniciando agora na parte de Estruturas de Repetição

 

Faça um programa em C que leia 5 números, um de cada vez, conte quantos deles são negativos, mostrando esta informação.

 

Obs:"No questionário ele pede para ser resolvido em "FOR""

 

Existem mais exercícios desse mesmo padrão então se puderem resolver este e tentarem me explicar a logica para eu resolver os outros fico muito grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

int i, number, counter;

for(i = 0; i < 5; ++i) {
   scanf("%d", number);
   if(number < 0)
       ++counter;
}

printf("Numero de numeros (\?) negativos: %d", counter);

 

 

Bom, eu não costumo dar o código assim, de graça, mas estou inspirado hoje ;D

 

É o seguinte, tem um laço de repetição com a variável de controle chamada i. Toda vez que o loop se repete, ela é incrementada em 1. Então, o loop vai ser executado com ela com o valor 0, depois na repetição, com valor 1, depois 2, 3, 4. Ou seja: 5 instâncias do loop. Lembre-se que em programação, começamos a contar do 0, não do 1. Por isso, 0, 1, 2, 3, 4, e NÃO 1, 2, 3, 4, 5. Afinal, o 0 é um número tão perfeito quanto os outros, porque essa discriminação?

 

Aí, em cada instância do loop, pegamos um valor com scanf e se o número for menor que zero (ou seja, negativo), aumentamos no contador.

 

Aí quando acabar o loop, é só mostrar o valor.

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahaha muito grato pelo codigo, me falhava a logica mesmo, nem era tanto pelo codigo eu precisava de uma "breve explicaçao" que voce forneceu, por isso fico grato :DD

 

dar codigo pronto = voltar novamente um dia para chupinhar codigo denovo

 

explicar como o fez = entende e nao resmunga mais oiueiouae

 

vlw, abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aplicando as devidas correções (ainda que ignorando o retorno de scanf para tratamento de erros):

 

int i, number, counter = 0;

for(i = 0; i < 5; ++i) {
   scanf("%d", &number);
   if(number < 0)
       ++counter;
}

printf("Numero de numeros (\?) negativos: %d", counter);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.