C/Visual C - Problema recursivo de Examen

   
Vista:

Problema recursivo de Examen

Publicado por mix9532 (5 intervenciones) el 20/06/2008 02:41:23
Tengo un gran problema, el martes tengo un examen de programacion en la Univrsidad pro no puedo acudir a preguntar dudas pues estudio en casa "fuera de la ciudad", teng el siguiente problema que no se resolver.

Dada la siguiente definición de tipos para una lista enlazada de enteros:

typedef struct nodo {
int dato;
nodo* suc;
};
typedef nodo* puntero;

Escribe una función RECURSIVA en C++ que, dada una lista l, inserte el valor 0 entre cada par de números
primos consecutivos.
Además, debe devolver el número de ceros que se han insertado.
Supondremos que todos los elementos de la lista son números mayores o iguales que 2.
Ejemplos:
- Si la lista es [2, 3, 4, 5, 6, 7, 8],
la lista quedaría [2, 0, 3, 4, 5, 6, 7, 8] y el valor devuelto sería 1.
- Si la lista es [5, 7, 11, 7, 5],
la lista quedaría [5, 0, 7, 0, 11, 0, 7, 0, 5] y el valor devuelto sería 4.
- Si la lista es [ ],
la lista quedaría [ ] y el valor devuelto sería 0.

El principal problema es hacerlo recursv, si no fuese asi si sabria hacerlo pero no se como hacer las llamadas recursivas para poder en caso necesario de eliminar un elemento hacer ke la lista quede enlazada.Me comprenden??
Espero me ayuden estoy agobiado con este tipo de problemas.
Muchga gracias a todo essbuenos programadores.
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

Gracias a todos "ironia"

Publicado por mix9532 (5 intervenciones) el 24/06/2008 20:17:46
Yaresolvi el problema fui a la universidad y me lo resolvio el profsr de programacion, no comprendo como en una semana nadieme resolvio la duda, pense ke este foro la gente era un poco mas desinteresada y podia ayudarme, pero sinceramente me era urgente y perdi ese ejercicio y nadie aporto nada. El ejercicio no dire como se resuelve es facil si alguienm kiere saberlo me lo diga o aprenda por tro lado, en el foro no pondre mas ayudas,Adios y un saludo a los "buenos"programadores y fopreros
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

RE:Gracias a todos

Publicado por fernando.gomez (1604 intervenciones) el 30/06/2008 19:00:46
"El ejercicio no dire como se resuelve es facil si alguienm kiere saberlo me lo diga o aprenda por tro lado"

Precísamente por eso nadie te ayudó. Querías que hiciéramos tu tarea por tí, cuando es una tarea fácil que pudiste haber incluso buscado en Google. =)
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

RE:Gracias a todos

Publicado por Gracias??? (5 intervenciones) el 01/07/2008 00:27:38
Dos cosillas:
La primera, nos pedi por favor que si alguien sabia resolveerlo, no pedia la solucion sino la manera de hacerlo, ya que yo el codigo no lo piodo en ningun lado, lo que me interesaba era aprenderlo pues a ls dos dias tenia el examenn.
Por otro ya busque en google, sino no hubiese comentado aqui para pedir ayuda si la hubiese entcontrado, comprenderas que hay mejores formas de perder el tiempo si tienes la solucion ya a un problema que no repetirlo 1000 veces, y tan facil no era porque el profesor ded la uni me lo resolvio"expliko el algoritmo" por email y no me kedo claro, tuve ke ir a su despacho personalemete despues dele examen,soybastante nuevo en la progamacion, pero nada, gracias a todos "Fernando".
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

RE:Problema recursivo de Examen

Publicado por igor (22 intervenciones) el 03/07/2008 20:19:41
El problema no es que nadie haya resuelto el problema en 3 días.

La gente ayuda en problemas concretos, no resuelve ejercicios completos. Si por lo menos huvieras puesto un código para corregir.

El problema es que a 3 días del examen no te va a ayudar nadie. Has tenido tiempo para aprender y preguntar sobre cualquier programa.

Si lo que quieres es aprender yo estaré disponible. Si quieres sacar el título por la cara, por lo menos ten un poco de respeto por los que ya tenemos títulos.

Repito, ayuda para lo que quieras.
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

RE:Problema recursivo de Examen

Publicado por Resuelto en Visual Basic (1 intervención) el 08/11/2008 11:29:04
Encontré este foro buscando funciones recursivas para un alumno. Aunque tenía que hacerlo en Pythom se lo mostré en VBA (Access). Puse dos cuadros de texto (inicial y final) y un botoncejo. El código quedó así ...
Public Function listaespecial(Li, Lf, p, tpc) As String
Dim valor

If p > (Len(Li) - 1) Then listaespecial = Lf: MsgBox "El número de pares primos era: " & tpc: Exit Function ' caso trivial, hemos terminado de examinar la lista 1
' caso recursivo
valor = CLng(Mid(Li, p, 1))
siguiente = CLng(Mid(Li, p + 1, 1))
If primo(valor, valor - 1) And primo(siguiente, siguiente - 1) Then
Lf = Lf & valor & "0"
tpc = tpc + 1
p = p + 1
' y ahora la llamada recursiva
Else
Lf = Lf & valor
p = p + 1
' y ahora la llamada recursiva
End If
listaespecial = listaespecial(Li, Lf, p, tpc)
End Function

Public Function primo(n, a) As Boolean
If a <= 1 Then primo = True: Exit Function
If (n Mod a) = 0 Then primo = False: Exit Function
primo = primo(n, a - 1)
End Function

Private Sub Comando4_Click()
' defino las variables
Dim listainicial As String
Dim listafinal As String
Dim posicion As Integer
Dim contador As Integer

' inicializamos las variables
listainicial = "" & INICIAL
listafinal = ""
posicion = 1
contador = 0

' Protección
If Len(listainicial) < 2 Then MsgBox "Al menos dos caracteres / valores debe haber en la lista 1 que lo sepas": Exit Sub

' Lanzamos la función recursiva
FINAL = listaespecial(listainicial, listafinal, posicion, contador)
End Sub

****
Por cierto, funciona.
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