Problema recursivo de Examen
Publicado por mix (5 intervenciones) el 20/06/2008 02:41:23
Tengo un gran problema, el martes tengo un examen de programacion en la Universidad pero no puedo acudir a preguntar dudas pues estudio en casa "fuera de la ciudad", tengo el siguiente problema que no se resolver.
Dada la siguiente definición de tipos para una lista enlazada de enteros:
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.
Muchas gracias a todo es buenos programadores.
Dada la siguiente definición de tipos para una lista enlazada de enteros:
1
2
3
4
5
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.
Muchas gracias a todo es buenos programadores.
Valora esta pregunta


0