elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Trabajo universidad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Trabajo universidad  (Leído 518 veces)
georginho30

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Trabajo universidad
« en: 3 Noviembre 2020, 01:19 »

Hola buenas, tengo un trabajo en la universidad en el que se me pide que programe en C. Se me pide que pida unos números al usuario y que luego estos números sean multiplicados en relación al lugar que ocupan (um*1, centenas *2, decenas *3...) y posteriormente me pide que calcule el total de la suma de estas multiplicaciones por cada número. Yo sé dividir un número en dígitos pero cuando tengo que sumarlos luego después de haberlos multiplicado no sé como se hace.
Muchas gracias


En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 799



Ver Perfil
Re: Trabajo universidad
« Respuesta #1 en: 3 Noviembre 2020, 01:40 »

Si sabes dividir el número en digitos, no tiene mayor complicación.

Supongo que usas un bucle para separar los dígitos. Entonces crea otra variable <suma = 0> fuera del bucle y en cada iteración acumula ahí el resultado del producto.

Te dejo a continuación un pseudocódigo para que te hagas una idea.
(No es código C, solo es un esquema conceptual de tu algoritmo)
Código:
PEDIR numero
suma := 0
PARA i := 1 HASTA longitud(numero) HACER
  digito := obtenerDigito(i, numero)
  suma := suma + digito * i
FIN PARA
Ahora solo tienes que implementar el código anterior en lenguaje C.

Si tienes alguna duda es mejor que incluyas tu código para poder ayudarte; además de porque no se hacen tareas, por lo que no vamos a darte el código completo si no aportas nada.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
georginho30

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Trabajo universidad
« Respuesta #2 en: 3 Noviembre 2020, 10:54 »

muchas gracias. Y para multiplicar los dígitos en una cadena el primero por uno asía hasta nueve y el último dígito por cero, como se haría para multiplicar ese último dígito por cero? Ya que se usas un for se multiplicaría por 10
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 799



Ver Perfil
Re: Trabajo universidad
« Respuesta #3 en: 3 Noviembre 2020, 16:01 »

Si lo que quieres es multiplicar por un conjunto finito de valores {1,2,3,4,5,6,7,8,9,0} y después volver a empezar por el 1 otra vez la mejor manera es utilizar el operador %.

La operación a%b devuelve el resto de dividir a/b y por las reglas de la división: el resto siempre será menor que el divisor. Si haces a%10=b, para cualquier a se cumplirá b < 10.

Código
  1. for(int i = 1; i <= 20; ++i){
  2.  printf("%d ", i % 10);
  3. }

Salida:
Código:
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
georginho30

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Trabajo universidad
« Respuesta #4 en: 3 Noviembre 2020, 18:43 »

también me piden que cree un menú para acceder a los diferentes ejercicios. dentro de uno de ellos, me pide que si el usuario mete un valor no válido se termine el ejercicio y se vuelva al menú principal, pero pongo exit(0) y se termina el programa. que código debo usar?
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 799



Ver Perfil
Re: Trabajo universidad
« Respuesta #5 en: 3 Noviembre 2020, 19:04 »

Para preguntas que no estén relacionadas las unas con las otras es mejor que abras un nuevo tema y especifiques su contenido en el título para que sea descriptivo.

Todo depende de cómo tengas estructurado el código. Obviamente si utilizas la función exit() el programa finalizará. Puedes hacerlo con un bucle controlado por una condición de validez o si el código se encuentra en otra función, puedes volver a la función que la llamó mediante un return.

Si incluyes tu código aunque sea de forma simplificada (lo necesario para poder visualizar tu problema) será más fácil concretarte una forma de hacerlo.

PD: Para insertar código utiliza las etiquetas de Código GeSHi y selecciona el lenguaje de programación adecuado.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
universidad « 1 2 »
Foro Libre
xexio 12 3,768 Último mensaje 3 Septiembre 2010, 19:09
por dantemc
¿Buscas trabajo? Esta startup propone que sea el trabajo el que nos encuentre...
Noticias
wolfbcn 0 513 Último mensaje 1 Noviembre 2015, 14:33
por wolfbcn
Ayuda. Trabajo Universidad
Programación C/C++
Anarq 2 1,018 Último mensaje 1 Enero 2017, 17:02
por ThinkByYourself
Necesito ayuda, tengo un problema con mi trabajo de universidad,error jcombobox
Java
Docs 1 355 Último mensaje 5 Diciembre 2018, 02:37
por rub'n
El último fraude académico: webs que te hacen el trabajo de la universidad
Noticias
wolfbcn 5 1,170 Último mensaje 5 Febrero 2020, 10:30
por FJDA
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines