elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  operaciones con pilas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: operaciones con pilas  (Leído 4,789 veces)
hartouki

Desconectado Desconectado

Mensajes: 2


Ver Perfil
operaciones con pilas
« en: 17 Agosto 2009, 12:00 pm »

hola muy buenas a tod@s
estoy haciendo unas operaciones básicas usando pilas quiero hacer lo siguiente:
1)función recursiva que me devuelve el mayor de los elementos almacenados en una pila sin modificar su contenido.
2)procedimiento recursivo que me imprime el contenido de la pila sin modificar sus datos en el mismo orden que están almacenados
3)procedimiento recursivo que me elimine todas las apariciones de un
elemento x.
todas estas operaciones se hace a nivel de utilización es decir sin suponer
nada acerca de la estructura del tipo pila.(sin array o memoria dinámica)
hicé las siguientes operaciones pero no estoy seguro si están bien asi
si tenéis una versión mejor estaré agradecido si me lo podéis facilitar:
1)función máximopila(E/S p:Tipopila):
Código:
    variables : 
  may ,e : natural
inicio:
may=0.
si (esvacia(p)) entonces //si la pila es vacia
  resultado=0; //termina la función qui
sino
 e=sacarp(p). //me devuelve el elemento que está en la cima
 borrarp(p), // si pongo el borrar aqui voy a modificar el contenido de la pila  y lo que se pide es sin modificar el contenido de los datos asi pasa con todos los procedimientos
 si (e>may) entonces
     may=e;
 sino
   resultado=maximopila(p)
 finsi
 resultado=mayor
2)proc escribirpila(E/S p:Tpila)
Código:
   varibales 
  e : tnatural
incio
  si esvacia(p) entonces
    escribir (la pila está vacia )
  sino
   e=Sacarp(p)
   escribir(e)
   escribirpila(p)


Código:
3) proc eliminarp(E/S p :tpila,E x :natural) 
inicio
  si esvacia(p) entonces
     escribir ( no se puede eliminar datos de una pila vacia)
  sino
    e=Sacarp(p)
    si e=x entonces
        borrarp(p)
    sino
      eliminarp(p,e)
   Fs
fin     

Muchisima gracias de antemano
saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Operaciones con vectores
Programación C/C++
elreplicante 7 17,001 Último mensaje 17 Agosto 2011, 01:44 am
por Valkyr
Duda con operaciones booleanas
Ingeniería Inversa
.:UND3R:. 1 2,281 Último mensaje 27 Noviembre 2011, 04:17 am
por raul338
TAB de OPERACIONES CON RACIONALES
Programación C/C++
chicainge 3 2,100 Último mensaje 9 Junio 2014, 21:49 pm
por eferion
operaciones con bit
Programación C/C++
vivianfes 2 1,566 Último mensaje 1 Abril 2015, 04:40 am
por vivianfes
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines