Eliminar Numero Par de La Cola y Retornar Los Valores Inmvertidos

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 7

// pilas_comparacion.

cpp: define el punto de entrada de la aplicacin de


consola.
//
#include "stdafx.h"
int _tmain(int argc, _TCH!" arg#$%&
'
return ()
*
// +rototipo de +resentacion de ,enus
// -e insertan las li.rerias necesarias
#include/iostream0
#include/conio.h0
#include/stdio.h0
#include/stdli..h0
using namespace std)
// declaracion numero de #define
/" -egmento de declaracion del arreglo de registros "/
struct nodo
'
int num )
struct nodo " sig)
* )struct nodo "tope_pila_aux, "ca._cola, "fin_cola)
//declaracion funciones 1 procedimientos//
#oid +2-H(nodo "" tope, nodo "insertar&)
nodo " +3+(nodo ""tope&)
.ool 4,+T5(nodo "tope_ca.&) // sir#e tanto para la pila como para la cola //
#oid 67-4!T (nodo "" fin, nodo ""ca. , nodo "insertar&)
nodo "48T!CT (nodo "" ca., nodo "" fin&)
#oid 6,+!6,6!(nodo "impri&)
#oid eliminar_num_pares(&)
// #aria.les glo.ales //
// +rograma principal
#oid main(&
'
// rea de declaracion de #aria.les locales
.ool s9 :false)
nodo "ne9nodo,"t)
int opcion : (, numero )
char continuar$;(%)
9hile (opcion <: = &
' s1stem("cls"&)
cout//">n ,472 +!67C6+? ")
cout//">n>n>n")
cout//" ;. 6ngresar numeros a la cola >n")
cout//" @. eliminar numeros pares 1 retornar la cola
in#ertida >n")
cout//" =. salir =>n")
cout//">n Aigite la opcion Bue desee: ")
cin00opcion)
s9itch (opcion&
'
case ;: //3pcion ;
s1stem("cls"&)
printf(">n opcion ; lectura numeros >n >n"&)
// ingresando datos pila //
s9:false)
9hile(s9<:true&
'
cout// "6ngrese un numero a la cola >n >n ")
cin00numero)

ne9nodo:ne9 (nodo&)
ne9nodoC0num:numero)
67-4!T(Dfin_cola,Dca._cola,ne9nodo&)
cin.ignore(&) // e#ita Bue el gets reci.a la .asura Bue esta en el
.uffer es decir limpia el .uffer //
cout// "Aesea ingresar otro dato a la pila # ; >n73 CC0 precione
; >n-6 CC0 precione cualBuier tecla >n ")
gets(continuar&)


if(strcmp(continuar,";"&::(&// comparamos las cadenas
'
s9:true)

*
*

s1stem("pause"&)
.reaE)
// fin case ; //
case @: // 3pcion @
s1stem("cls"&)
printf(">n opcion @ >n"&)
cout// """""""""""""""""""""""""""""""""""""""""// endl)
// eliminamos numeros pares
eliminar_num_pares(&)
cout//endl)
s1stem(" pause"&)
.reaE)
case =: // opcion F
s1stem("cls"&)
printf(">n <<< dios <<<>n"&)
.reaE)
default: // 3pcion in#alida
printf(">n
::::::::::::::::::::::::::::::"&)
printf(">n < """" 3pcion 6n#alida
""""" <"& )
printf(">n
::::::::::::::::::::::::::::::>n >n >n >n >n"&)
s1stem("pause"&)
* // fin del case
* // fin del 9hile
s1stem("pause"&)
* // fin del main
// funcion +2-H (pila GG&//
#oid +2-H(nodo "" tope, nodo "insertar&
' nodo"aux)
if (4,+T5("tope&&
'
"tope:insertar)
insertarC0sig:72??)
*else
'
aux:"tope)
"tope:insertar)
insertarC0sig:aux)
*
*
// funcion pop (pilaCC& //
nodo " +3+(nodo ""tope&
'
nodo" retorno)
retorno:"tope)
"tope:retornoC0sig)
retornoC0sig:72??)
return (retorno&)
*
// funcion empt1 (pila #acia&//
.ool 4,+T5(nodo "tope_ca.&
'
if(tope_ca.::72??&
'
return (true&)
*else
'
return (false&)
*
*
// procedimiento imprimir
#oid 6,+!6,6!(nodo "impri&
'
cout//impriC0num//" ")
*
// procedimiendo insertar dato ala cola //
#oid 67-4!T (nodo "" fin, nodo ""ca. , nodo "insertar&
' nodo "aux)
if(4,+T5("ca.&&
'
"ca.:insertar)
"fin:insertar)
insertarC0sig:72??)
*else
'
aux:"fin)
auxC0sig:insertar)
insertarC0sig:72??)
"fin:insertar)
*
*
// H27C637 48T!4! 27 AT3 A4 ? C3? //
nodo "48T!CT (nodo "" ca., nodo "" fin&
'
nodo " retorno)
retorno:"ca.)
"ca.:retornoC0sig)
retornoC0sig:72??)
if(4,+T5("ca.&&
'
"fin:72??)
*
return(retorno&)
*
#oid eliminar_num_pares(&
'
nodo "aux)
int s9:()
if(4,+T5(ca._cola&&
'
cout//"la cola no tiene datos "//endl)
*else
'
9hile(<(4,+T5(ca._cola&&& // mientras Bue la cola no este #acia
'
aux:48T!CT(Dca._cola,Dfin_cola&) // extraemos un dato de la cola
if(auxC0num I @<:(& // si el numero es impar entra
'
+2-H(Dtope_pila_aux,aux&) // guardamos el dato extraido de la cola
en una pila auxiliar
*else
'
s9:;) // se acti#a un s9iche Bue nos ser#irar para informar al
cliente si almenos un numero par fue eliminado

*
* // fin 9hile
* // fin si

// ahora retornamos los datos ala cola en sentido contrario //
aux:72??) // limpiamos puntero aux //
9hile(<(4,+T5(tope_pila_aux&&& // mientras la pila nop este #acia
'
aux:+3+(Dtope_pila_aux&) // sacamos el dato de la pila auxiliar
67-4!T(Dfin_cola,Dca._cola,aux&) // insertamos dato en la cola
*// fin 9hile
// hacemos uso del s9 para informar al cliente si hu.ieron numeros
pares eliminados o no
if(s9::(&
'
cout//"no se encontro ningun numero par por lo tanto no fue eliminado
ningun dato "//endl)
*else
'
cout//"los numeros pares han sido eliminados corretamente "//endl)
*// fin si
// imprimimos la cola con los datos in#ertidos //
aux:72??) // limpiamos puntero aux //
cout//"la cola con los datos in#ertidos Buedo de esta manera "//endl)
9hile(<(4,+T5(ca._cola&&& // mientras la cola no este #acia
'
aux:48T!CT(Dca._cola,Dfin_cola&)
6,+!6,6!(aux&)

*// fin 9hile
*

También podría gustarte