Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Beginner Web

#561
Programación C/C++ / Re: Ayuda con recursividad
2 Septiembre 2018, 22:07 PM
La profe dijo que ya esta bien, igual gracias
#562
No, tiene que ser lista enlazada simple sin apuntadores y sin usar listas auxiliares, igual gracias
#563
Hola, queria saber como puedo alterar el orden de una lista enlazada simple me piden lo siguiente, sin utilizar listas auxiliares, hacer una operacion donde los nodos se modifiquen segun espefica el usuario

LISTA ORIGINAL: LUNES->MARTES->MIERCOLES->JUEVES->VIERNES->SABADO->DOMINGO
Dia especificado por el usuario: JUEVES
LISTA MODIFICADA: JUEVES->VIERNES->SABADO->DOMINGO->LUNES->MARTES->MIERCOLES

He intentado ir agregando al final de la lista original los datos que son diferentes al dato especificado por el usuario y borrando el elemento inicial de la lista pero no tuve exito aca dejo el programa solo fijense en el modulo que se llama void modificar_lista(pnodo &lista)

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>
#include <string.h>

using namespace std;

typedef char tcad[16];
typedef struct tnodo *pnodo;
typedef struct tnodo{
tcad dato;
pnodo sig;
};

void inicia(pnodo &lista);
void crear(pnodo &nuevo);
void agregar_final(pnodo &lista, pnodo nuevo);
pnodo quitar_inicio(pnodo &lista);
void modificar_lista(pnodo &lista);
void mostrar(pnodo lista);

int main()
{
pnodo milista, nodo;
int opcion;
inicia(milista);
do{
system("cls");
cout << "1. Iniciar lista" << endl;
cout << "2. Agregar elementos a la lista" << endl;
cout << "3. Modificar lista" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. Salir" << endl;
cin >> opcion;
switch(opcion){
case 1: inicia(milista); break;
case 2: crear(nodo); if(nodo!=NULL){agregar_final(milista,nodo);}; break;
case 3: modificar_lista(milista); break;
case 4: cout << "***LISTA***" << endl; mostrar(milista); break;
case 5: cout << "FIN DEL  PROGRAMA" << endl; break;
default: cout << "Opcion incorrecta" << endl;
}
system("pause");
}while(opcion!=5);
}

void inicia(pnodo &lista)
{
lista=NULL;
}

void crear(pnodo &nuevo)
{
nuevo=new tnodo;
if(nuevo!=NULL){
cout << "Ingrese dato: "; cin >> nuevo->dato;
nuevo->sig=NULL;
}
else{
cout << "MEMORIA INSUFICIENTE" << endl;
}
}

void agregar_final(pnodo &lista, pnodo nuevo)
{
pnodo i;
if(lista==NULL){
lista=nuevo;
}
else{
for(i=lista;i->sig!=NULL;i=i->sig);
i->sig=nuevo;
}
}

pnodo quitar_inicio(pnodo &lista)
{
pnodo borrado;
if(lista==NULL){
borrado=NULL;
}
else{
borrado=lista;
lista=lista->sig;
borrado->sig=NULL;
}
return borrado;
}

void modificar_lista(pnodo &lista)
{
pnodo i;
tcad buscado;
cout << "Ingrese dia de la semana: "; cin >> buscado;
for(i=lista;i!=NULL;i=i->sig){
if(strcmp(i->dato,buscado)!=0){
agregar_final(lista,i);
delete(quitar_inicio(lista));
}
else{
break;
}
}
}

void mostrar(pnodo lista)
{
pnodo i;
if(lista!=NULL){
for(i=lista;i!=NULL;i=i->sig){
cout << "Nodo: " << i->dato << endl;
}
cout << endl;
}
else{
cout << "LISTA VACIA" << endl;
}
}
#564
Programación C/C++ / Re: Ayuda con recursividad
2 Septiembre 2018, 11:49 AM
Habian explicado en clase una forma que era ir disminuyendo el tamaño de la lista y sumando cada dato a otra variable de tipo int suma todo con una sola funcion/procedimiento pero no me acuerdo solo tengo eso




Lo acabo de solucionar era que necesitaba el nodo cabeza que esta en la estructura lista "pnodo inicio", ahi va el codigo completo  ;-)

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

using namespace std;

typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
};

void inicia(tlista &lista);
void crear(pnodo &nuevo);
void agregar_final(tlista &lista, pnodo nuevo);
int sumar_nodos(pnodo inicio);
void mostrar(tlista lista);

int main()
{
tlista milista;
pnodo nodo;
int opcion, suma=0;
inicia(milista);
do{
system("cls");
cout << "1. Iniciar lista" << endl;
cout << "2. Agregar elementos a la lista" << endl;
cout << "3. Sumar elementos" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. Salir" << endl;
cin >> opcion;
switch(opcion){
case 1: inicia(milista); break;
case 2: crear(nodo); if(nodo!=NULL){agregar_final(milista,nodo);}; break;
case 3: suma=sumar_nodos(milista.inicio); cout << "SUMA: " << suma << endl; break;
case 4: cout << "***LISTA***" << endl; mostrar(milista); break;
case 5: cout << "FIN DEL  PROGRAMA" << endl; break;
default: cout << "Opcion incorrecta" << endl;
}
system("pause");
}while(opcion!=5);
}

void inicia(tlista &lista)
{
lista.inicio=NULL;
}

void crear(pnodo &nuevo)
{
nuevo=new tnodo;
if(nuevo!=NULL){
cout << "Ingrese valor: "; cin >> nuevo->dato;
nuevo->sig=NULL;
}
else{
cout << "MEMORIA INSUFICIENTE" << endl;
}
}

void agregar_final(tlista &lista, pnodo nuevo)
{
pnodo i;
if(lista.inicio==NULL){
lista.inicio=nuevo;
}
else{
for(i=lista.inicio;i->sig!=NULL;i=i->sig);
i->sig=nuevo;
}
}

int sumar_nodos(pnodo inicio)
{
if(inicio==NULL){
return 0;
}
else{
return inicio->dato+sumar_nodos(inicio->sig);
}
}

void mostrar(tlista lista)
{
pnodo i;
if(lista.inicio!=NULL){
for(i=lista.inicio;i!=NULL;i=i->sig){
cout << "Nodo: " << i->dato << endl;
}
cout << endl;
}
else{
cout << "LISTA VACIA" << endl;
}
}

::) ::) ::)
;-) ;-) ;-)



Mod: Prohibido el doble o triple post. Usa el botón "Modificar".
#565
Programación C/C++ / Ayuda con recursividad
2 Septiembre 2018, 00:07 AM
Hola, necesito una ayuda , non puedo sumar los valores de una lista enlazada simple la cual tiene un apuntador de inicio, dejo al estructura y la funcion recursiva que logre hasta ahora

Código (cpp) [Seleccionar]
typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
};


Código (cpp) [Seleccionar]
int sumar(tlista lista)
{
pnodo i;
if(lista.inicio==NULL){
return 0;
}
else{
return lista.inicio->dato+sumar(i=i->sig);
}
}


;-)
#566
Código (cpp) [Seleccionar]
void ordenar_lista(pnodo &lista)
{
pnodo i, j, min;
int aux;
for(i=lista;i->sig!=NULL;i=i->sig){
min=i;
for(j=i->sig;j!=NULL;j=j->sig){//Esto no entiendo
if(j->dato<min->dato){
min=j;
}
}
if(min!=i){
aux=min->dato;
   min->dato=i->dato;
   i->dato=aux;
}
}
}


Datos de entrada:
9
8
6
4
2
1
Datos de salida
1
2
4
6
8
9




Perdon me mareo

Código (cpp) [Seleccionar]
void ordenar_lista(pnodo &lista)
{
pnodo i, j, min;
int aux;
for(i=lista;i->sig!=NULL;i=i->sig){
min=i;
for(j=i->sig;j!=NULL;j=j->sig){//Esto no entiendo
if(j->dato<min->dato){
min=j;
}
}
if(min!=i){
aux=i->dato;
   i->dato=min->dato;
   min->dato=aux;
}
}
}




Mod: Prohibido el doble o triple post. Usa el botón "Modificar".
#567
Hola picolos bambinos, alguien me podria decir porque mi metodo de ordenacion seleccion en listas simplemente enlazadas no funciona?

void ordenar_lista(pnodo &lista)//Este es el modulo ->

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

using namespace std;

typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};

void inicia(pnodo &lista);
void crear(pnodo &nuevo);
void agregar_final(pnodo &lista, pnodo nuevo);
void ordenar_lista(pnodo &lista);
void mostrar(pnodo lista);

int main()
{
pnodo milista, nuevo;
int opcion;
inicia(milista);
do{
system("cls");
cout << "1. Iniciar lista" << endl;
cout << "2. Agregar elemento" << endl;
cout << "3. Ordenar lista" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. Salir" << endl;
cin >> opcion;
switch(opcion){
case 1: inicia(milista); break;
case 2: crear(nuevo); if(nuevo!=NULL){agregar_final(milista,nuevo);}; break;
case 3: ordenar_lista(milista); break;
case 4: cout << "*** LISTA ***" << endl; mostrar(milista); break;
case 5: cout << "FIN DEL  PROGRAMA" << endl; break;
default: cout << "Opcion incorrecta" << endl;
}
system("pause");
}while(opcion!=5);
}

void inicia(pnodo &lista)
{
lista=NULL;
}

void crear(pnodo &nuevo)
{
nuevo=new tnodo;
if(nuevo!=NULL){
cout << "Ingrese valor: "; cin >> nuevo->dato;
nuevo->sig=NULL;
}
else{
cout << "MEMORIA INSUFICIENTE" << endl;
}
}

void agregar_final(pnodo &lista, pnodo nuevo)
{
pnodo i;
if(lista==NULL){
lista=nuevo;
}
else{
for(i=lista;i->sig!=NULL;i=i->sig);
i->sig=nuevo;
}
}

void ordenar_lista(pnodo &lista)
{
pnodo i, j, min;
int aux;
for(i=lista;i->sig!=NULL;i=i->sig){
min=i;
for(j=lista;j->sig!=NULL;j=j->sig){
j=i->sig;
if(j->dato<i->dato){
min->dato=j->dato;
min->sig=j->sig;
}
}
aux=i->dato;
i->dato=min->dato;
min->dato=aux;
}
}

void mostrar(pnodo lista)
{
pnodo i;
if(lista!=NULL){
for(i=lista;i!=NULL;i=i->sig){
cout << "Nodo: " << i->dato << endl;
}
cout << endl;
}
else{
cout << "LISTA VACIA" << endl;
}
}





No se que pasa no me ordena como yo quiero, esto es lo que pude lograr hasta ahora
Código (cpp) [Seleccionar]
void ordenar_lista(pnodo &lista)
{
pnodo i, j, min;
int aux;
for(i=lista;i->sig!=NULL;i=i->sig){
min=i;
for(j=i->sig;j->sig!=NULL;j=j->sig){
if(min->dato>j->dato){
min=j;
}
}
if(min!=i){
aux=i->dato;
   i->dato=j->dato;
   j->dato=aux;
}
}
}




Mod: Prohibido el doble o triple post. Usa el botón "Modificar".
#568
El problema es que mi modulo de agregar nodo al final me agrega un nodo pero adelante como lo soluciono? Desde ya gracias chavales

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

using namespace std;

typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
int contador;
};

void inicia(tlista &lista);
void crear(pnodo &nuevo);
void agregar_inicio(tlista &lista, pnodo nuevo);
void agregar_final(tlista &lista, pnodo nuevo);
void agregar_orden(tlista &lista, pnodo nuevo);
pnodo quitar_inicio(tlista &lista);
pnodo quitar_final(tlista &lista);
pnodo quitar_nodo(tlista &lista, int valor);
bool buscar_nodo(tlista lista,int valor);
void mostrar(tlista lista);

int main()
{
tlista milista;
pnodo nuevonodo, eliminado;
int opcion, num;
inicia(milista);
do{
system("cls");
cout << "1. Iniciar lista" << endl;
cout << "2. Agregar al inicio" << endl;
cout << "3. Agregar al final" << endl;
cout << "4. Agregar en orden" << endl;
cout << "5. Quitar al inicio" << endl;
cout << "6. Quitar al final" << endl;
cout << "7. Quitar valor" << endl;
cout << "8. Buscar valor" << endl;
cout << "9. Mostrar lista" << endl;
cout << "10. Salir" << endl;
cin >> opcion;
switch(opcion){
case 1: inicia(milista); break;
case 2: crear(nuevonodo); if(nuevonodo!=NULL){agregar_inicio(milista,nuevonodo);}; break;
case 3: crear(nuevonodo); if(nuevonodo!=NULL){agregar_final(milista,nuevonodo);}; break;
case 4: crear(nuevonodo); if(nuevonodo!=NULL){agregar_orden(milista,nuevonodo);}; break;
case 5: eliminado=quitar_inicio(milista);
if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl;delete(eliminado);}
else{cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 6: eliminado=quitar_final(milista);
if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl;delete(eliminado);}
else{cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 7: cout << "Igrese valor a eliminar: "; cin >> num; eliminado=quitar_nodo(milista,num);
if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl; delete(eliminado);}
else{ cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 8: cout << "Ingrese valor buscado: "; cin >> num;
if(buscar_nodo(milista,num)==true){cout << "VALOR ENCONTRADO" << endl;}
else{ cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 9: cout << "*** LISTA ***" << endl; mostrar(milista); break;
case 10: cout << "FIN DEL  PROGRAMA" << endl; break;
default: cout << "Opcion incorrecta" << endl;
}
system("pause");
}while(opcion!=10);
}

void inicia(tlista &lista)
{
lista.inicio=NULL;
lista.contador=0;
}

void crear(pnodo &nuevo)
{
nuevo=new tnodo;
if(nuevo!=NULL){
cout << "Ingrese valor: "; cin >> nuevo->dato;
nuevo->sig=NULL;
}
else{
cout << "MEMORIA INSUFICIENTE" << endl;
}
}

void agregar_inicio(tlista &lista, pnodo nuevo)
{
if (lista.inicio==NULL){
    lista.inicio=nuevo;
   }
  else{
  nuevo->sig=lista.inicio;
    lista.inicio=nuevo;
  }
  lista.contador++;
}

void agregar_final(tlista &lista, pnodo nuevo)
{
pnodo i;
if(lista.inicio==NULL){
lista.inicio=nuevo;
}
else{
for(i=lista.inicio;i->sig!=NULL;i=i->sig);
i->sig=nuevo;
}
lista.contador++;
}

void agregar_orden(tlista &lista, pnodo nuevo)
{
pnodo i;
if(lista.inicio==NULL){
lista.inicio=nuevo;
}
else{
if(nuevo->dato<lista.inicio->dato){
nuevo->sig=lista.inicio;
lista.inicio=nuevo;
}
else{
for(i=lista.inicio;i->sig!=NULL && nuevo->dato>(i->sig)->dato;i=i->sig);
nuevo->sig=i->sig;
i->sig=nuevo;
}
}
lista.contador++;
}

pnodo quitar_inicio(tlista &lista)
{
pnodo borrado;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
borrado=lista.inicio;
lista.inicio=lista.inicio->sig;
borrado->sig=NULL;
}
lista.contador--;
return borrado;
}

pnodo quitar_final(tlista &lista)
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio->sig==NULL){
borrado=lista.inicio;
lista.inicio=NULL;
}
else{
for(i=lista.inicio;(i->sig)->sig!=NULL;i=i->sig);
borrado=i->sig;
i->sig=NULL;
}
}
lista.contador--;
return borrado;
}

pnodo quitar_nodo(tlista &lista, int valor)
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio->dato==valor){
borrado=lista.inicio;
lista.inicio=borrado->sig;
borrado->sig=NULL;
}
else{
for(i=lista.inicio;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig);
if(i->sig!=NULL){
borrado=i->sig;
i->sig=borrado->sig;
borrado->sig=NULL;
}
else{
borrado=NULL;
}
}
lista.contador--;
}
return borrado;
}

bool buscar_nodo(tlista lista,int valor)
{
pnodo i;
bool encontrado=false;
if(lista.inicio!=NULL){
for(i=lista.inicio;i!=NULL && encontrado==false;i=i->sig){
if(i->dato==valor){
encontrado=true;
}
}
}
return encontrado;
}

void mostrar(tlista lista)
{
pnodo i;
if(lista.inicio!=NULL){
for(i=lista.inicio;i!=NULL;i=i->sig){
cout << "Nodo: " << i->dato << endl;
}
cout << endl;
cout << "Cantidad de elementos: " << lista.contador << endl;
}
else{
cout << "LISTA VACIA" << endl;
}
}
#569
Programación C/C++ / Ayuda con listas sinples
31 Agosto 2018, 20:25 PM
Hola amig@s queria que me ayudaran a entender como sucede la magia en este fragmento que acabo de hacer entiendo lista de forma generica pero hay cosas que no me cierran como la sintaxis de C++ en listas y otras cosillas, desde  ya muchas gracias  ;-)

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

using namespace std;

typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};

void inicia(pnodo &lista);
void crear(pnodo &nuevo);
void agregar_inicio(pnodo &lista, pnodo nuevo);
void agregar_final(pnodo &lista, pnodo nuevo);
void agregar_orden(pnodo &lista, pnodo nuevo);
pnodo quitar_inicio(pnodo &lista);
pnodo quitar_final(pnodo &lista);
pnodo quitar_nodo(pnodo &lista, int valor);
bool buscar_nodo(pnodo lista,int valor);
void mostrar(pnodo lista);

int main()
{
pnodo milista, nuevonodo, eliminado;
int opcion, num;
inicia(milista);
do{
system("cls");
cout << "1. Iniciar lista" << endl;
cout << "2. Agregar al inicio" << endl;
cout << "3. Agregar al final" << endl;
cout << "4. Agregar en orden" << endl;
cout << "5. Quitar al inicio" << endl;
cout << "6. Quitar al final" << endl;
cout << "7. Quitar valor" << endl;
cout << "8. Buscar valor" << endl;
cout << "9. Mostrar lista" << endl;
cout << "10. Salir" << endl;
cin >> opcion;
switch(opcion){
case 1: inicia(milista); break;
case 2: crear(nuevonodo); if(nuevonodo!=NULL){agregar_inicio(milista,nuevonodo);}; break;
case 3: crear(nuevonodo); if(nuevonodo!=NULL){agregar_inicio(milista,nuevonodo);}; break;
case 4: crear(nuevonodo); if(nuevonodo!=NULL){agregar_orden(milista,nuevonodo);}; break;
case 5: eliminado=quitar_inicio(milista);
if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl;delete(eliminado);}
else{cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 6: eliminado=quitar_final(milista);
if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl;delete(eliminado);}
else{cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 7: cout << "Igrese valor a eliminar: "; cin >> num; eliminado=quitar_nodo(milista,num);
if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl; delete(eliminado);}
else{ cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 8: cout << "Ingrese valor buscado: "; cin >> num;
if(buscar_nodo(milista,num)==true){cout << "VALOR ENCONTRADO" << endl;}
else{ cout << "LISTA VACIA O NO EXISTE VALOR" << endl;}; break;
case 9: cout << "*** LISTA ***" << endl; mostrar(milista); break;
case 10: cout << "FIN DEL  PROGRAMA" << endl; break;
default: cout << "Opcion incorrecta" << endl;
}
system("pause");
}while(opcion!=10);
}

void inicia(pnodo &lista)
{
lista=NULL;
}

void crear(pnodo &nuevo)
{
nuevo=new tnodo;
if(nuevo!=NULL){
cout << "Ingrese valor: "; cin >> nuevo->dato;
nuevo->sig=NULL;
}
else{
cout << "MEMORIA INSUFICIENTE" << endl;
}
}

void agregar_inicio(pnodo &lista, pnodo nuevo)
{
nuevo->sig=lista;
lista=nuevo;
}

void agregar_final(pnodo &lista, pnodo nuevo)
{
pnodo i;
if(lista==NULL){
lista=nuevo;
}
else{
for(i=lista;i->sig!=NULL;i=i->sig);
i->sig=nuevo;
}
}

void agregar_orden(pnodo &lista, pnodo nuevo)
{
pnodo i;
if(lista==NULL){
lista=nuevo;
}
else{
if(nuevo->dato<lista->dato){
nuevo->sig=lista;
lista=nuevo;
}
else{
for(i=lista;i->sig!=NULL && nuevo->dato>(i->sig)->dato;i=i->sig);
nuevo->sig=i->sig;
i->sig=nuevo;
}
}
}

pnodo quitar_inicio(pnodo &lista)
{
pnodo borrado;
if(lista==NULL){
borrado=NULL;
}
else{
borrado=lista;
lista=lista->sig;
borrado->sig=NULL;
}
return borrado;
}

pnodo quitar_final(pnodo &lista)
{
pnodo borrado, i;
if(lista==NULL){
borrado=NULL;
}
else{
if(lista->sig==NULL){
borrado=lista;
lista=NULL;
}
else{
for(i=lista;(i->sig)->sig!=NULL;i=i->sig);
borrado=i->sig;
i->sig=NULL;
}
}
return borrado;
}

pnodo quitar_nodo(pnodo &lista, int valor)
{
pnodo borrado, i;
if(lista==NULL){
borrado=NULL;
}
else{
if(lista->dato==valor){
borrado=lista;
lista=borrado->sig;
borrado->sig=NULL;
}
else{
for(i=lista;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig);
if(i->sig!=NULL){
borrado=i->sig;
i->sig=borrado->sig;
borrado->sig=NULL;
}
else{
borrado=NULL;
}
}
}
return borrado;
}

bool buscar_nodo(pnodo lista,int valor)
{
pnodo i;
bool encontrado=false;
if(lista!=NULL){
for(i=lista;i!=NULL && encontrado==false;i=i->sig){
if(i->dato==valor){
encontrado=true;
}
}
}
return encontrado;
}

void mostrar(pnodo lista)
{
pnodo i;
if(lista!=NULL){
for(i=lista;i!=NULL;i=i->sig){
cout << "Nodo: " << i->dato << endl;
}
cout << endl;
}
else{
cout << "LISTA VACIA" << endl;
}
}

#570
Hola  la solucion seria la siguiente xd

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

int main()
{
char input=0;

cout << "Presione d para ejecutar ciclo" << endl;
while(1){
cin >> input;
if(input=='d'){
ejecutar ciclo();
}
else{
ejecutar_otras_acciones();
}
}
system("pause");
return 0;
}