Ir ao conteúdo
  • Cadastre-se
marquest

Duvida laço de repetição

Recommended Posts

Elaborar um programa que apresente o somatório dos valores pares existentes na faixa entre 1 e N, onde N é um número digitado pelo usuário e que deve ser no mínimo 100 (obrigatório usar laço do-while para ler N).

não entendi, tenho dificuldade com a lógica D:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em alto nível:


inteiro n, somatorio=0, i=0;
faça {
escreva "digite n: ";
leia (n);
} enquanto (n<100);
enquanto (i<=n)
{
se (i for par) //usar mod
somatorio=somatorio+i;
}
escreva "somatorio:", somatorio;

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu um laço infinito D: mas valeu pela ajuda!!

//Exercício 4

#include <iostream> 
#include <math.h>
using namespace std;
int main ()

{
int n=0, somatorio=0, i=0;


while (n<100) {
cout<<"Digite o numero:"; cin>> n;
}

while (i<=n) {
if (i%2==0) {
somatorio = somatorio + i;
}
cout<< somatorio;
}


system ("pause") ;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz a alteração da minha postagem depois e você não deve ter visto.

Muda pra:


do {
cout<<"Digite o numero:"; cin>> n;
}while (n<100);

E antes de fechar o while incrementa o i (me esqueci desse detalhe também).

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu mudei e ficou assim, mas ainda deu laço infinito quando digito algo menor que 100

//Exercício 4

#include <iostream> 
#include <math.h>
using namespace std;
int main ()

{
int n=0, somatorio=0, i=0;

do{
cout<<"Digite o numero:"; cin>> n;
} while (n>100) ;

do{
if (i%2==0) {
somatorio = somatorio + i;
}
cout<< somatorio;
} while (i<=n);



system ("pause") ;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sinal tá invertido, é pra ler n enquanto n for menor que 100, você colocou enquanto n for maior que 100.

E no segundo laço não é do... while, é while mesmo, incrementando o i no final, assim:


while (i<=n) {
if (i%2==0)
somatorio = somatorio + i;
i++;
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×