Dev - C++ - ayuda tarea

   
Vista:

ayuda tarea

Publicado por GERARDO (13 intervenciones) el 19/06/2017 05:33:49
POR FAVOR SI ALGUIEN ME PUEDE AYUDAR A RESOLVER ESTE PROGRAMA SE LO AGRADECERÍA

Realice un programa que, dado un número entero positivo, mayor a cero, muestre en pantalla para cada uno de sus dígitos si son pares o impares, además de si el dígito es primo. No importa el orden en el que se evalúen los dígitos, de modo que se puede comenzar de derecha a izquierda. La entrada se debe recibir como un parámetro de tipo entero (int).

Para obtener los dígitos por separado de un número se debe dividir el número entre 10, el residuo de la división será el dígito de más a la derecha y el resto del número quedará como el cociente de la división. Debe volverse a dividir el cociente de la división anterior y tomar su residuo hasta que el nuevo cociente sea cero.

Por ejemplo, tomemos el número 473. Dividiendo 473 entre 10 tendríamos que el cociente de la división es 47 y el residuo sería 3. Volviendo a dividir el 47 entre 10 tenemos que el cociente es 4 y el residuo es 7. Finalmente, dividiendo el 4 entre 10 tenemos que el cociente es cero y el residuo es 4. Ya que el cociente de la división fue cero, terminamos. Podemos notar cómo los residuos dieron 3, 7 y 4, en ese orden, y corresponden a los dígitos del número en orden inverso (de derecha a izquierda).

En C++ el residuo de la división puede obtenerse con el operador ‘%’. De modo que 23 % 10 regresaría un 3.

El programa deberá contener al menos tres funciones: una en donde se haga la división del número en dígitos y se imprima si es par, impar y primo o no primo, otra función que reciba un número y regrese si es par o impar, y una tercera que reciba un número y regrese si es primo o no.


Recursos a utilizar:

• Funciones
• Ciclos
• Condicionales
• Operadores aritméticos


Ejemplo

Como entrada se recibirá un entero positivo mayor a cero, como salida el programa deberá imprimir en pantalla si sus dígitos son pares o impares. A continuación, se muestra un ejemplo de cómo deberá responder el programa.

Entrada:
4730

Salida:
0 es número par y no es primo
3 es número impar y es primo
7 es número impar y es primo
4 es número par y no es primo
Nótese que el cero es considerado número par y que el primer número primo es el dos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de jonathan

ayuda tarea

Publicado por jonathan (4 intervenciones) el 19/06/2017 06:07:27
amigo yo te puedo ayudar con esa tu tarea pero no manejo la sintaxis de C++ pudiera realizar ese ejercicio pero en C, no se si quieres que lo haga en C y tu lo pasas a C++.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea

Publicado por gerardo (13 intervenciones) el 19/06/2017 20:04:18
ok jonathan, te lo agradecería mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jonathan

ayuda tarea

Publicado por jonathan (4 intervenciones) el 19/06/2017 20:31:36
ok te lo doy en unos momentos que tengo algunos improvistos que resolver en estos momentos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jonathan

ayuda tarea

Publicado por jonathan (4 intervenciones) el 19/06/2017 21:49:15
ok intenta con esto :
solo la observacion que % es modulo y para pasarlo a C++ cambia los printf y los scanf por los imprimir y escaner de C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
 void esPar(int numero) {
 	if(numero%2 == 0 ) {
 		printf("el numero %i  es par\n", numero);
 	}else
 		printf("el numero %i  es impar\n", numero);
  }
 
  int  esPrimo(numero){
  	int numAux = numero -1;
  	int retorno = 0;
  	while(numAux > 1) {
  		if(numero % numAux == 0){
  			retorno = 1;
  			return retorno;
  		}
  		numAux--;
  	}
  	return retorno;
  }
 
int main() {
 
	int numero = 0;
	printf("introdusca un numero\n");
	scanf("%i", & numero);
 
	while(numero > 0){
		esPar(numero%10);
		if(esPrimo(numero%10) == 1 ){
			printf("el numero %i  no es primo\n\n",  (numero%10));
		}else {
			printf("el numero %i  es primo\n\n", (numero%10));
		}
		numero = numero / 10;
	}
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ayuda tarea

Publicado por gerardo (13 intervenciones) el 20/06/2017 04:03:00
LO VOY A PROBAR, DE ANTEMANO TE LO AGRADEZCO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jonathan

ayuda tarea

Publicado por jonathan (4 intervenciones) el 20/06/2017 04:04:39
ok cualquier duda la atendere con gusto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea

Publicado por gerardo (13 intervenciones) el 20/06/2017 05:35:34
MUCHAS GRACIAS POR LA ATENCIÓN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda tarea

Publicado por Sergio Can (7 intervenciones) el 19/06/2017 10:05:28
El maestro técnicamente te dio todas las posibles dudas que podrías tener, solo te queda ir a ver documentación sobre ciclos y arreglos, para resolver eso.

Pd. Ayudar no es hacer tu trabajo, significa que tú ya habrás hecho algo y buscas correcciones. En ese caso postea parte de tu código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar