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úvoid invertirLista(tlista &lista)
{
pnodo aux;
tlista secundaria;
inicia(secundaria);
if(lista.inicio!=NULL){
while(lista.inicio!=NULL){
aux=quitar_inicio(lista);
agregar_inicio(secundaria,aux);
}
lista.inicio=secundaria.inicio;
lista.final=secundaria.final;
}
else{
cout << "LISTA VACIA" << endl;
}
}
void liberar_memoria(tlista &lista)
{
pnodo borrado;
while(lista.inicio!=NULL){
borrado=lista.inicio;
lista.inicio=lista.inicio->sig;
delete(borrado);
}
}
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
typedef struct tnodo *pnodo;
typedef struct tnodo{
char dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
pnodo final;
};
char matrix[4][4]={{'a','b','c','d'},{'e','f','g','h'},{'i','j','k','l'},{'m','n','o','p'}};
void inicia(tlista &lista);
void agregar_final(tlista &lista, pnodo nuevo);
void copiarContenido(tlista &lista);
void invertirLista(tlista &lista);
void mostrar(tlista lista);
int main()
{
tlista milista;
pnodo nuevonodo;
int opcion, num;
inicia(milista);
do{
system("cls");
cout << "*MATRIZ*" << endl;
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
cout << matrix[i][j] << " ";
}
cout << endl;
}
cout << "1. Iniciar lista" << endl;
cout << "2. Copiar contenido de la matriz a la lista" << endl;
cout << "3. Invertir el orden de la lista" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. Salir" << endl;
cin >> opcion;
switch(opcion){
case 1: inicia(milista); break;
case 2: copiarContenido(milista); break;
case 3: invertirLista(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(tlista &lista)
{
lista.inicio=NULL;
lista.final=NULL;
}
void agregar_final(tlista &lista, pnodo nuevo)
{
if(lista.inicio==NULL){
lista.inicio=nuevo;
lista.final=nuevo;
}
else{
lista.final->sig=nuevo;
lista.final=nuevo;
}
}
void copiarContenido(tlista &lista)
{
pnodo nuevo;
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
nuevo=new tnodo;
if(nuevo!=NULL){
nuevo->dato=matrix[i][j];
nuevo->sig=NULL;
}
else{
cout << "MEMORIA INSUFICIENTE" << endl;
}
if(nuevo!=NULL){
agregar_final(lista,nuevo);
}
}
}
}
void invertirLista(tlista &lista)
{
pnodo i, j;
char buscado, aux;
bool ordenado=true;
buscado=lista.inicio->dato;
while(ordenado){
if(lista.inicio->dato==buscado){
ordenado=false;
}
else{
for(i=lista.inicio;i->sig!=NULL;i=i->sig){
j=i->sig;
aux=i->dato;
i->dato=j->dato;
j->dato=aux;
}
}
}
}
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;
}
}
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
pnodo final;
int contador;
};
void inicia(tlista &lista);
void crear(pnodo &nuevo);
void agregar_inicio(tlista &lista, pnodo nuevo);
pnodo quitar_final(tlista &lista);
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. Quitar al final" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. 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: eliminado=quitar_final(milista); if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << 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;
lista.final=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;
lista.final=nuevo;
}
else{
nuevo->sig=lista.inicio;
lista.inicio=nuevo;
}
lista.contador++;
}
pnodo quitar_final(tlista &lista)
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio==lista.final){
borrado=lista.inicio;
lista.inicio=NULL;
lista.final=NULL;
}
else{
for(i=lista.inicio;(i->sig)->sig!=lista.final->sig;i=i->sig)
borrado=lista.final;
lista.final=i;
lista.final->sig=lista.inicio;
}
lista.contador--;
}
return borrado;
}
void mostrar(tlista lista)
{
pnodo i;
if(lista.inicio!=NULL){
for(i=lista.inicio;i!=lista.final->sig;i=i->sig){
cout << "Nodo: " << i->dato << endl;
}
cout << endl;
cout << "Cantidad de elementos: " << lista.contador << endl;
}
else{
cout << "LISTA VACIA" << endl;
}
}
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
pnodo final;
int contador;
};
void inicia(tlista &lista);
void crear(pnodo &nuevo);
void agregar_inicio(tlista &lista, pnodo nuevo);
pnodo quitar_final(tlista &lista);
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. Quitar al final" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. 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: eliminado=quitar_final(milista);if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl; delete(eliminado);}; 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;
lista.final=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;
lista.final=nuevo;
lista.final->sig=lista.inicio;
}
else{
lista.final->sig=nuevo;
nuevo->sig=lista.inicio;
lista.inicio=nuevo;
}
lista.contador++;
}
pnodo quitar_final(tlista &lista)
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio==lista.final){
borrado=lista.inicio;
lista.inicio=NULL;
lista.final=NULL;
}
else{
for(i=lista.inicio;i!=lista.final;i=i->sig);
borrado=lista.final;
i->sig=lista.inicio;
lista.final=i;
}
lista.contador--;
}
return borrado;
}
void mostrar(tlista lista)
{
pnodo i;
bool seguir=true;
if(lista.inicio!=NULL){
i=lista.inicio;
while(seguir){
cout << "Nodo: " << i->dato << endl;
if(i==lista.final){
seguir=false;
}
i=i->sig;
}
}
else{
cout << "LISTA VACIA" << endl;
}
}
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
pnodo final;
int contador;
};
void inicia(tlista &lista);
void crear(pnodo &nuevo);
void agregar_inicio(tlista &lista, pnodo nuevo);
pnodo quitar_final(tlista &lista);
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. Quitar al final" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. 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: eliminado=quitar_final(milista);if(eliminado!=NULL){cout << "Eliminado: " << eliminado->dato << endl; delete(eliminado);}; 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;
lista.final=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;
lista.final=nuevo;
nuevo->sig=nuevo;//Hasta aca se que esta bien;
}
else{
lista.final->sig=nuevo;
nuevo->sig=lista.inicio;
lista.inicio=nuevo;
}
lista.contador++;
}
pnodo quitar_final(tlista &lista)
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio==lista.final){
borrado=lista.inicio;
lista.inicio=NULL;
lista.final=NULL;
}
else{
for(i=lista.inicio;(i->sig)->sig!=lista.inicio;i=i->sig);
borrado=lista.final;
lista.final=i;
lista.final->sig=lista.inicio;
}
lista.contador--;
}
return borrado;
}
void mostrar(tlista lista)
{
pnodo i;
bool seguir=true;
if(lista.inicio!=NULL){
i=lista.inicio;
while(seguir){
cout << "Nodo: " << i->dato << endl;
if(i==lista.final){
seguir=false;
}
i=i->sig;
}
}
else{
cout << "LISTA VACIA" << endl;
}
}
pnodo quitar_final(tlista &lista) //ERROR
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio==lista.final){
borrado=lista.inicio;
lista.inicio=NULL;
lista.final=NULL;
}
else{
for(i=lista.inicio;(i->sig)->sig!=NULL;i=i->sig);
borrado=lista.final;
lista.final=i;
lista.final->sig=NULL;
}
}
return borrado;
}
void modificar_lista(pnodo &lista)
{
pnodo i, j;
tcad buscado, aux;
bool ordenado=true;
cout << "Ingrese dia de la semana: "; cin >> buscado;
while(ordenado){
if(strcmp(lista->dato,buscado)==0){
ordenado=false;
}
else{
for(i=lista;i->sig!=NULL;i=i->sig){
j=i->sig;
strcpy(aux,i->dato);
strcpy(i->dato,j->dato);
strcpy(j->dato,aux);
}
}
}
}
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef struct tnodo *pnodo;
typedef struct tnodo{
int dato;
pnodo sig;
};
typedef struct tlista{
pnodo inicio;
pnodo final;
};
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.final=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(tlista &lista, pnodo nuevo)
{
if(lista.inicio==NULL){
lista.inicio=nuevo;
lista.final=nuevo;
}
else{
nuevo->sig=lista.inicio;
lista.inicio=nuevo;
}
}
void agregar_final(tlista &lista, pnodo nuevo)
{
if(lista.inicio==NULL){
lista.inicio=nuevo;
lista.final=nuevo;
}
else{
lista.final->sig=nuevo;
lista.final=nuevo;
}
}
void agregar_orden(tlista &lista, pnodo nuevo)
{
pnodo i;
if(lista.inicio==NULL){
lista.inicio=nuevo;
lista.final=nuevo;
}
else{
if(nuevo->dato<lista.inicio->dato){
nuevo->sig=lista.inicio;
lista.inicio=nuevo;
}
else{
if(nuevo->dato>lista.final->dato){
lista.final->sig=nuevo;
lista.final=nuevo;
}
else{
for(i=lista.inicio;i->sig!=NULL && nuevo->dato>(i->sig)->dato;i=i->sig){
nuevo->sig=i->sig;
i->sig=nuevo;
}
}
}
}
}
pnodo quitar_inicio(tlista &lista)
{
pnodo borrado;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio==lista.final){
borrado=lista.inicio;
lista.inicio=NULL;
lista.final=NULL;
}
else{
borrado=lista.inicio;
lista.inicio=borrado->sig;
borrado->sig=NULL;
}
}
return borrado;
}
pnodo quitar_final(tlista &lista) //ERROR
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio==lista.final){
borrado=lista.inicio;
lista.inicio=NULL;
lista.final=NULL;
}
else{
for(i=lista.inicio;(i->sig)->sig!=NULL;i=i->sig);
borrado=lista.final;
lista.final->sig=NULL;
}
}
return borrado;
}
pnodo quitar_nodo(tlista &lista, int valor) //ERROR
{
pnodo borrado, i;
if(lista.inicio==NULL){
borrado=NULL;
}
else{
if(lista.inicio->dato==valor){
borrado=lista.inicio;
if(lista.inicio==lista.final){
lista.inicio=NULL;
lista.final=NULL;
}
else{
lista.inicio=NULL;
borrado->sig=NULL;
}
}
else{
for(i=lista.inicio;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig);
if(i->sig!=NULL){
borrado=NULL;
}
else{
borrado=i->sig;
borrado->sig=NULL;
}
}
}
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;
}
else{
cout << "LISTA VACIA" << endl;
}
}
pnodo desconocido(pnodo lista)
{
if(lista==NULL || lista->sig==NULL){
return lista;
}
else{
return desconocido(lista->sig);
}
}
#include <iostream>
#include <math.h>
using namespace std;
const int MAX=3;
typedef int t_fecha[MAX];
void crear_fecha(t_fecha &n);
bool VALIDAR(t_fecha n);
void mostrar_fecha(t_fecha n);
void comparar_fechas(t_fecha n, t_fecha m);
void mayor_fechas(t_fecha n, t_fecha m);
int main()
{
t_fecha a, b;
crear_fecha(a);
crear_fecha(b);
comparar_fechas(a, b);
mayor_fechas(a, b);
system("pause");
return 0;
}
void crear_fecha(t_fecha &n)
{
do{
cout << "Ingrese dia: "; cin >> n[0];
cout << "Ingrese mes: "; cin >> n[1];
cout << "Inrese año : "; cin >> n[2];
}while(VALIDAR(n)==false);
mostrar_fecha(n);
}
bool VALIDAR(t_fecha n)
{
if(n[1]>=1 && n[1]<=12){
switch(n[1]){
case 1: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
case 2: if(n[2]%4==0){
if(n[0]>0 && n[0]<30){return true;}else{return false;}
}
else{
if(n[0]>0 && n[0]<29){return true;}else{return false;}
}; break;
case 3: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
case 4: if(n[0]>0 && n[0]<31){return true;}else{return false;}; break;
case 5: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
case 6: if(n[0]>0 && n[0]<31){return true;}else{return false;}; break;
case 7: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
case 8: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
case 9: if(n[0]>0 && n[0]<31){return true;}else{return false;}; break;
case 10: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
case 11: if(n[0]>0 && n[0]<31){return true;}else{return false;}; break;
case 12: if(n[0]>0 && n[0]<32){return true;}else{return false;}; break;
default: return false;
}
}
else{
return false;
}
}
void mostrar_fecha(t_fecha n)
{
cout << n[0] << "/" << n[1] << "/" << n[2] << endl;
}
void comparar_fechas(t_fecha n, t_fecha m)
{
if(n[0]==m[0] && n[1]==m[1] && n[2]==m[2]){
cout << "Las fechas son iguales" << endl;
}
else{
cout << "Las fechas son diferentes" << endl;
}
}
void mayor_fechas(t_fecha n, t_fecha m)
{
if(n[2]>m[2]){
cout << "Es mayor "; mostrar_fecha(n);
}
else{
if(n[2]<m[2]){
cout << "Es mayor "; mostrar_fecha(m);
}
else{
if(n[1]>m[1]){
cout << "Es mayor "; mostrar_fecha(n);
}
else{
if(n[1]<m[1]){
cout << "Es mayor "; mostrar_fecha(m);
}
else{
if(n[0]>m[0]){
cout << "Es mayor "; mostrar_fecha(n);
}
else{
if(n[0]<m[0]){
cout << "Es mayor "; mostrar_fecha(m);
}
else{
cout << "Son iguales" << endl;
}
}
}
}
}
}
}
[int d, m ,a, edad;
cout << "8/8/2014 << endl;
cout << "COLOQUE FECHA DE NACIMIENTO EN FORMATO DD/MM/AAAA:" << endl;
cin >> d >> m >> a;
edad=2014-a;
if(m==8){
if(d<8){
edad++;
}
else{
if(d>8){
edad--;
}
}
}
else{
if(m<8){
edad++;
}
else{
edad--;
}
}