Ir ao conteúdo
  • Cadastre-se

C++ sucessor par em C++


Visitante

Posts recomendados

Alguém consegue resolver esse programa?

Fazer um programa em C++ para ler do teclado um conjunto de dados onde cada linha contém um número par. Para cada número lido, calcular o seu sucessor par, imprimindo-os dois a dois em listagem de saida. A última entrada de dados contém o número zero. OBSERVACAO: o zero não deve ser considerado para o cálculo do sucessor par.

Link para o comentário
Compartilhar em outros sites

Eu fiz assim o programa, mas ele não esta como deveria, como no enunciado, pode me ajudar a corrigir os erros? Eu quero que calcule apenas o sucessor par, quando for ímpar imprima na tela que é número ímpar e quando for 0 saia do programa. Ou seja, do jeito que esta no enunciado

 

#include <iostream>
using namespace std;

main()
{
    int p, c;
    c=0;
    cout << "Digite o numero par e digite 0 para sair" << endl;
    cout << "par(" << c + 1 << ")";
    cin >> p;

    while (p != 0)
    {
        cout << p + 2 << endl;
        c = c + 1;
        cout << "par(" << c + 1 << "): ";
        cin >> p;
        if (p % 2 == 0)
        {
            cout << "Esse numero eh par" << endl;
        }
        else
            cout << "Esse numero eh impar" << endl;
    }

}


 

Link para o comentário
Compartilhar em outros sites

 seu código está funcionando bem,  e para ele calcular e imprimir  o sucessor quando for par  coloque esse comando dentro do if que calcula o modulo.     então depois do cin >> p  que está dentro do while coloque essas linhas :

if(p != 0){
    if (p % 2 == 0){
        cout << "Esse numero eh par" << endl;
        cout << "O Sucessor Par Desse Numero --> "<<p<<" eh "<<p+2<<"\n"<<endl;
    }
    else{
        cout << "Esse numero eh impar" << endl;
        cout << "O Sucessor Par Desse Numero --> "<<p<<" eh "<<p+1<<"\n"<<endl;
    }
}

 

Link para o comentário
Compartilhar em outros sites

rodei o programa, e no início entrei com o primeiro valor 8, ele calculou 10, mas não imprimiu "O Sucessor Par Desse Numero --> 8 eh 10". Quando eu entrei com o segundo valor 46, ele calculou 48, dessa vez ele imprimiu "O Sucessor Par Desse Numero --> 46 eh 48". Quando eu entrei com o terceiro valor 7, ele calculou 9 e imprimiu "Esse numro eh impar". OBS. Eu queria que o programa calculasse o sucessor par e imprimisse a mensagem na primeira entrada e não calculasse o sucessor impar, mas imprimisse "Esse numero eh impar"

sucessor par.jpg

Link para o comentário
Compartilhar em outros sites

Melhor usar um do while.

 

#include <iostream>
using namespace std;

int main()
{
	int p, c=0;
	do {		
		cout << "Digite um numero par ou 0 para sair: ";		
		cout << "\nPar(" << c + 1 << "): ";
		cin >> p;			
		c++;		
		if (p != 0 && p % 2 == 0) {
			cout << p << ' ' << p + 2 << endl;
		}
	}while(p !=0);	
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...