Informática, perguntado por adri123dantas, 8 meses atrás

implemente um programa que receba um número inteiro positivo X. O programa deve imprimir uma mensagem informando se X é formado apenas por dígitos ímpares ou não.

A linguagem tem que ser em C++

Soluções para a tarefa

Respondido por MateusBN2020
1

Resposta:

Sei utilizar em c, não c++. Mas acredito que a sintaxe não mude muito.

Explicação:

Pelo que entendi você quer saber se a variável (valor digitado) é impar ou par.

para fazer basta pegar o resto da divisão por 2 ou 3:

ex:

10 / 2 = 5

20 / 2 = 10

6 / 2 = 3

em todos esses exemplos, o resto da divisão = 0, caso fosse 3 teria resto, um valor decimal.

Tendo isso em vista, você tem que perguntar isso via código. Como irei fazer.

código:

# include <stdio.h>

# include <stdlib.h>

int main (){

int valor;

printf("Digite um valor: ");

scanf("%d", &valor);

if (valor % 2 == 0) {

  printf("O número é par.");

}

else {

printf("O número é impar.");

}

return 0;

}


adri123dantas: Esse código ta certo, mas eu preciso que o programa analise cada caractere. Exemplo: se eu digitar 123, o programa deve analisar os três digitos e informar se todos são impares ou não são
MateusBN2020: Entendi. Vou fazer daqui a pouco, to vendo aula na faculdade agora. Quando tirar um tempo livre, faço e envio. Mas isso é um vetor ou variável normal ?
adri123dantas: tudo bem. Creio que seja um vetor, contudo, imagino que com um avariável string seria possível também.
MateusBN2020: # include
# include

int main(){
int numero,cont,par = 0, impar = 0;
for(cont=1; cont<=5; cont++)
{
printf("Numero: ",cont);
scanf("%d",&numero);
if(numero % 2 == 0) {
par+= 1;

}
else {
impar +=1;
}

}

if (par < 1){
printf("Tem apenas números ímpares!");

}
else {
printf("Não contém apenas ímpares!");
}

system("pause >nul");
return 0;
}
MateusBN2020: Tem que ver com seu professor se é válido desta forma, com o for. Se for sem o for tem que usar libs para tratamento de conversão do tipo int, para char, ou no que você for usar para verificar. Pois você disse que ele quer um número (inteiro).
adri123dantas: deu certo. Valeu, irmão
Respondido por stelfistete
1

Resposta:

Para C++, dois modelos de resposta a seguir

Explicação:

int main(){

   int x, r, i = 0, p = 0;

   cin  >>  x;

   while (x > 0) {

       r = x%10;

       if(r%2 == 0) {

               p += 1;

       }

       else {

               i += 1;

       }

       x = x / 10;

   }

   if(p >0){

       cout << "tem par" << endl;

   }

   else{

       cout << "so impar" << endl;

   }

}

OUTRO MODELO

 

int main()

{

   int x, r;

   cin >> x;

while (x > 0) {

       r = x%10;

       if(r%2 == 0) {

           cout << r << " Par " << endl;

       } else {

           cout << r << " Impar " << endl;

       }

       x = x / 10;

   }

}

Perguntas interessantes