> Foro de Java y C++ de Chuidiang">

Foro de Java y C++ de Chuidiang

Este foro se mueve a Foro de Java y C++

Foro de Java y C++ de Chuidiang
Metodo que transforme cadena "3467" en 3,467 USANDO RECURSIVIDAD
* E-mail:
* Password:
Registrarse Presentación Miembros Imágenes
¿Has olvidado tu Password?

Lista de mensajes
Autor Mensaje
cayema123
 
Mensajes: 1
Registrado: Junio/2009
Estado: Off-line
Grupo: Nuevo usuario
 
 
  Una cola doble 06/Junio/2009 - 05:14

Hola necesito ayuda con este ejercicio debo construir una cola doble
con operaciones que permiten acceder a los elementos de la misma por ambos extremos.
Construir una clase ColaDoble que implemente la interfaz Queue
 utilizando una representación por enlaces con metodos que permitan  agregarDetras(), eliminarDetras() y getFinal(). Desde ya les agradecere por su ayuda.
Einki
 
Mensajes: 1
Registrado: Diciembre/2008
Estado: Off-line
Grupo: Nuevo usuario
 
 
  Re: Re: Metodo que transforme cadena 23/Diciembre/2008 - 15:52

A pues veras al final opte por hacer lo siguiente:

import java.io.*;
import java.util.*;

public class RecursionGus {

 public static void main(String args[]) {
  String cadena="125697"; //Aqui ingrese la cadena en forma entera para que pueda ser expresada como entero
  RecursionGus obj=new RecursionGus(); //declaramos objeto

  int tama;       // El metodo necesita el tamaño de nuestra cadena,
  int b=1;
  tama=cadena.length();     // Asi como iniciar en 1 para que en el metodo pueda funcionar
  
  int nm;
  nm=(int)(obj.recursivo(cadena,tama,b)); //llamada al metodo recursivo
  
  System.out.println(nm);
  int p=nm*100; // Hacemos alguna operacion con nuestro numero para corroborar su tipo
  System.out.println("Hacemos travesuras y con esto comprobamos \nque es un valor ENTERO y no una cadena mas");
  System.out.println(p);
 }

 
 
 public double recursivo(String cadena,int pos,int x) { //nuestro metodo recursivo

  double valor=0;

  if(x!=pos) {
   
   valor=((double)(cadena.charAt(x-1))-48)*(Math.pow(10,pos-x ));
                         
   return (valor+recursivo(cadena,pos,(x+1)));   
  }
  else {
   
  return ((double)(cadena.charAt(x-1))-48)*(Math.pow(10,pos-x ));
  }

 }
}

 

 

Gracias por tu respuesta!

lingurik
 
Mensajes: 1
Registrado: Diciembre/2008
Estado: Off-line
Grupo: Nuevo usuario
 
 
  Re: Metodo que transforme cadena 16/Diciembre/2008 - 06:59

Si no has hecho la función todavía quizá te sirva esto.

 

---funcion cadenita--- :)

parameters cadena     ;Le pasamos el numero, pero ya como cadena, o lo pasas a cadena en una función superior, y luego llamas a esta

que es la recursiva y estaría dentro de la que convierte el número en cadena.

devuelve=substr(cadena, 1, 1)    ;Cogemos el primer caracter.

longitud=len(cadena)             ;Calculamos la longitud de la cadena.

if len(cadena)=1                 ;Si la longitud de la cadena es 1, es el último caracter, no hace falta seguir y volvemos.
  return devuelve                ;
endif

tocapunto=mod(longitud, 3)       ;Comprobamos si la longitud es múltiplo de 3.

if tocapunto=1                   ;Si era el cuarto, el séptimo, etc. le ponemos un punto.
  devuelve=devuelve+'.'
endif

pasar=substr(cadena, 2)          ;Cogemos la cadena a partir del segundo caracter.

devuelve=devuevlve+cadenita(pasar)  ;Llamamos a la función pero con la cadena truncada a partir de segundo caracter.

return devuelve

Yo programaba en foxpro, estas funciones son de foxpro, si no has programado en foxpro no te sonarán los nombres de las funciones,

pero creo que son bastante fáciles de adivinar. Estoy aprendiendo java, pero no se los suficiente (más bien casi nada) como para

poner esto en java, y de C++ no se ni papa. Si te va la marcha puedes hacerlo con funciones numéricas, dividiendo entre mil, y por

cierto, ya ves que no pone nada de decimales, eso lo dejo para tus neuronas ;)

El programa lo he hecho mientras echaba un cigarrito, seguramente la salida de la recursividad la tendrás que ajustar, no creo que

funcione a la primera, pero todo podría ser. La base ya la tienes, ahora es cosa tuya acabarla, cuando la acabes, publicala en el

foro, para que pueda verla en java, o c++.

Einki
 
Mensajes: 1
Registrado: Noviembre/2008
Estado: Off-line
Grupo: Nuevo usuario
 
 
  Metodo que transforme cadena "3467" en 3,467 USANDO RECURSIVIDAD 24/Noviembre/2008 - 22:45

Hola que tal, me preguntaba si alguien me podria ayudar con un METODO, el cual transforme la cadena: "3467"  en: 3,467. Y que sobre todo utilice recursividad... Y es que me encuentro atorado y no se por donde buscarle.

Muchas gracias


Usuarios activos
27 usuarios activos: 0 miembros y 27 huespedes en el foro.
 Reglas de mensaje
puedes escribir nuevos temas
puedes responder a los temas
puedes adjuntar archivos
no puedes editar tus mensajes
Contactar con el Administrador del foro.

La utilización del servicio vendrá condicionada por la previa aceptación de las Condiciones Generales de Uso del Servicio.



Foro gratis creado en ForosWebGratis.com. Crea tu propio foro aquí.