Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
Arreglos y recursividad

Buenas hace poco publique una peticion de ayuda para recursividad, muchas gracias a todos los que me ayudaron, ahora la trabajo mucho mejor, incluso sorprendo a mi profesor, je je, bueno ahora también queria hacerles una consulta, q se base en arreglos y recursividad. La pregunta en mencion es la siguiente:

¿Cómo puedo hallar la suma de los elementos de un arreglo usando recursividad?

Espero me puedan ayudar o dar alguna sugerencia. Saludos.
__________________
Tengo que pasar .... y lo voy a lograr.
Responder Con Cita
  #2  
Antiguo 21-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Idea básica:

Para sumar un arreglo de n números basta sumar el primero a la suma de los n-1 restantes.

Para sumar estos n-1 restantes aplicas el "algoritmo" anterior para n-1 enteros.

La recursividad termina cuando n=1, en cuyo caso la suma es el número en sí.

// Saludos
Responder Con Cita
  #3  
Antiguo 21-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
El caso es que yo quiero sumar los elementos de ese arreglo, por decir, tengo un arreglo de 1..5 con elementos: 4-2-6-6-3, quiero ir sumando las posiciones hasta hallar la suma.
__________________
Tengo que pasar .... y lo voy a lograr.
Responder Con Cita
  #4  
Antiguo 21-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
OK ya lo entendí, valdría este algoritmo?

Funcion SumaArray(x,n)
si n = 0
entonces SumaArray <- 0
sino SumaArray <- SumaArray(x,n-1) + x[n-1]
fsi

El problema q yo tengo no esta en la recursividad, sino en mi poca familiaridad con los arreglos.
__________________
Tengo que pasar .... y lo voy a lograr.
Responder Con Cita
  #5  
Antiguo 21-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por davitcito
El problema q yo tengo no esta en la recursividad, sino en mi poca familiaridad con los arreglos.
Entonces abre un hilo para preguntar tus dudas acerca de arreglos en lugar de declarar que estás preguntando sobre recursividad.

// Saludos
Responder Con Cita
  #6  
Antiguo 22-04-2005
Avatar de davitcito
davitcito davitcito is offline
Miembro
 
Registrado: mar 2005
Posts: 28
Poder: 0
davitcito Va por buen camino
OK Roman, pero de todas maneras, esta correcto el algoritmo q hice arriba?
__________________
Tengo que pasar .... y lo voy a lograr.

Última edición por davitcito fecha: 22-04-2005 a las 16:21:22.
Responder Con Cita
  #7  
Antiguo 22-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El algoritmo si está bien, pero ten mucho cuidado con los índices de las tablas, ahí es donde tienes un error.

pintate la tabla con los índices y los valores que tiene dentro, y haz un seguimiento cuando n vale 1, despues 0 , SALE de la recursividad, y ¿que pasa ahora?
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:54:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi