Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Alguien podría por favor resolver estos problemas?

Estas en el tema de Alguien podría por favor resolver estos problemas? en el foro de C/C++ en Foros del Web. Que tal como están? soy nuevo en el foro y me gusta mucho la programación pero acá tengo dos problemas que me están dando mucha ...
  #1 (permalink)  
Antiguo 18/06/2013, 15:27
 
Fecha de Ingreso: junio-2013
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
Información Alguien podría por favor resolver estos problemas?

Que tal como están? soy nuevo en el foro y me gusta mucho la programación pero acá tengo dos problemas que me están dando mucha lata... podrían ayudarme por favor?

1. Implementar en un método que dé como resultado la suma de los dígitos al cuadrado de un numero ingresado

2. Implementar un método que muestre en un listbox la descomposición de un numero de la siguiente forma:
a. 1234 = 1x1000++2x100+3x10+4x1

Gracias por el aporte
  #2 (permalink)  
Antiguo 18/06/2013, 15:57
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Alguien podría por favor resolver estos problemas?

¿Y donde tienes problema?

Edito:
Por que nadie te va a venir a hacerte tu tarea.

Al parecer si WTF!

Última edición por razpeitia; 18/06/2013 a las 16:12
  #3 (permalink)  
Antiguo 18/06/2013, 16:06
Avatar de Lobito14  
Fecha de Ingreso: abril-2010
Mensajes: 222
Antigüedad: 14 años, 8 meses
Puntos: 17
Respuesta: Alguien podría por favor resolver estos problemas?

El primero no lo entiendo, la suma de los dígitos al cuadrado de un numero ingresado???

Si ingresas 2, dos al cuadrado es 4, que sería la suma de 2+4=6???

En el segundo, si el numero es introducido como un String, entonces podrás acceder a los métodos de este tipo, y podrías hacer un bucle desde 1 hasta el string.length() y en cada pasada que vaya mostrando cada dígito con su multiplicación , en tu ejemplo sería algo así:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. void test(string num){
  7.     string mul = "1";
  8.    
  9.     for(int i = 1; i < num.length(); i++) mul += "0";
  10.     int mulI = atoi(mul.c_str());
  11.    
  12.     cout << num << " = ";
  13.     for(int i = 0; i < num.length(); i++){
  14.          cout << num[i] << "x" << mulI;
  15.         if(i!=num.length()-1)
  16.             cout << "+";
  17.         mulI /= 10;
  18.     }
  19.     cout << endl;
  20. }
  21.  
  22. int main(){  
  23.     test("1234");
  24.    
  25.     system("PAUSE");
  26.     return 0;
  27. }

Esta es una forma "fea" para que la entiendas e intentes mejorarla, así aprendes.

Un saludo.
  #4 (permalink)  
Antiguo 18/06/2013, 17:22
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 11 meses
Puntos: 35
Respuesta: Alguien podría por favor resolver estos problemas?

Creo que con el 1 se refiere a que si se ingresa, por ejemplo, 423, sería 4x4 + 2x2 + 3x3.
Podes pedir el número vía scanf(), y después recorrer el array elevando cada uno de los dígitos y sumandolos en una variable. Y podes usar atoi() para convertir de char a int.

  #5 (permalink)  
Antiguo 23/06/2013, 01:33
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 6 meses
Puntos: 127
Respuesta: Alguien podría por favor resolver estos problemas?

Hombre, tampoco es para complicarse demasiado:

Código C++:
Ver original
  1. string cadena;
  2.     unsigned int enteroactual;
  3.     char charactual;
  4.     unsigned int enterototal = 0;
  5.     cin >> cadena;
  6.    
  7.     for (string::const_iterator iterador = cadena.begin(); iterador != cadena.end(); ++ iterador)
  8.     {
  9.         charactual = *iterador; // de dereferencia a char
  10.         enteroactual = strtol(&charactual,NULL,10); // dir de char
  11.         enterototal += enteroactual*enteroactual;
  12.     }
  13.  
  14.     cout << "el entero es: " << enterototal;

Si introduces 64 devuelve: (6*6) + (4*4) = 52

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Etiquetas: favor, programa, resolver
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:56.