SlideShare una empresa de Scribd logo
PROGRAMA EN C++ SOBRE
LISTA SIMPLE ENLAZADA.
#include<iostream.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>

    struct lista
    {
    int num;
    struct lista *sig;
    };
    typedef struct lista nodo;

    void   inicio();
    void   final();
    void   mostrar();
    void   del();
    void   antes();
    void   despues();

    nodo *cab=NULL;
    nodo *ult=NULL;

    int main()
{
    int opc=0;
    while(opc!=7)
    {
  clrscr();
    printf("nMENUn1.- ingresar al inicion2.- ingresar al
finaln3.- insertar antesn4.- insertar despuesn5.- imprimirn6.-
eliminarn7.- salirningrese su opcion: ");
    scanf("%d",&opc);
switch(opc)
      {
      case 1:
      inicio();
      break;
      case 2:
      final();
      break;
      case 3:
      antes();
      break;
      case 4:
      despues();
      break;
      case 5:
      mostrar();
      break;
      case 6:
      del();
      break;
      }

     }
}

     void inicio()
     {
     nodo *nuevo;
     char resp='s';
     while(resp!='n')
     {
     nuevo=((nodo*)malloc(sizeof(nodo)));
     printf("ningrese el nuevo numero: ");
     scanf("%d",&nuevo->num);
     if(cab==NULL)
     {
     cab=nuevo;
     nuevo->sig=cab;
     ult=cab;
     }
else
{
nuevo->sig=cab;
cab=nuevo;
ult->sig=cab;
}
printf("ndesea agregar otro numero? s/n: ");
fflush(stdin);
scanf("%c",&resp);
}
}

void final()
{
nodo *nuevo;
char resp='s';
while(resp!='n')
{
nuevo=((nodo*)malloc(sizeof(nodo)));
printf("ningrese el nuevo numero: ");
scanf("%d",&nuevo->num);
if(cab==NULL)
{
cab=nuevo;
nuevo->sig=cab;
ult=cab;
}
else
{
ult->sig=nuevo;
ult=nuevo;
ult->sig=cab;
}
printf("ndesea agregar otro numero? s/n: ");
fflush(stdin);
scanf("%c",&resp);
}
}
void mostrar()
  {
  nodo *ptr;
  int valido=0;
  ptr=cab;
  while(valido!=1)
  {
  if(ptr==ult)
  {
  valido=1;
  }
  printf("%d",ptr->num);
  ptr=ptr->sig;
  }
  getch();
  }

 void del()
 {
 nodo *ptr;
 nodo *pkr;
 nodo *aux=NULL;
 int num, y=0, valido=0, vali2=0, vali3=0;
 ptr=cab;
 pkr=cab;
 printf("ningrese el numero a borrar: ");
 scanf("%d",&num);
 while(valido!=1)
 {
 if(ptr==ult)
 {
 valido=1;
 }
 if(num==ptr->num)
 {
 aux=ptr;
 y=1;
 }
if((ptr==cab)&&(y==1))
{
cab=ptr->sig;
ult->sig=cab;
y=0;
}
else if((ptr==ult)&&(y==1))
{
while(vali2!=1)
{
if(pkr==ult)
{
vali2=1;
}
if(pkr->sig==aux)
{
ult=pkr;
ult->sig=cab;
y=0;
}
pkr=pkr->sig;
}
}
else if(y==1)
{
while(vali3!=1)
{
if(pkr==ult)
{
vali3=1;
}
if(pkr->sig==aux)
{
pkr->sig=aux->sig;
y=0;
}
pkr=pkr->sig;
}
}
ptr=ptr->sig;
}
      }

      void antes()
      {
      nodo *nuevo, *ptr, *pkr, *aux;
      int num, y=0, valido=0;
      char resp='s';
      ptr=cab;
      pkr=cab;
      while(resp!='n')
      {
      nuevo=((nodo*)malloc(sizeof(nodo)));
      printf("ningrese el nuevo numero: ");
      scanf("%d",&nuevo->num);
      printf("nantes de quien quiere ingresar? INGRESE EL NUMERO:
");
      scanf("%d",&num);
      while(valido!=1)
      {
      if(ptr==ult)
      {
      valido=1;
      }
      if(num==ptr->num)
      {
      aux=ptr;
      y=1;
      }
      while(y==1)
      {
      if(pkr->sig==aux)
      {
      pkr->sig=nuevo;
      nuevo->sig=aux;
      y=0;
      }
      pkr=pkr->sig;
      }
      ptr=ptr->sig;
}
      printf("ndesea agregar otro numero? s/n: ");
      fflush(stdin);
      scanf("%c",&resp);
      }

      }

      void despues()
      {
      nodo *ptr, *nuevo;
      ptr=cab;
      char resp='s';
      int num, valido=0;
      while(resp!='n')
      {
      nuevo=((nodo*)malloc(sizeof(nodo)));
      printf("ningrese el nuevo numero: ");
      scanf("%d",&nuevo->num);
      printf("ndespues de quien quiere ingresar? INGRESE EL NUMERO:
");
      scanf("%d",&num);
      while(valido!=1)
      {
      if(ptr==ult)
      {
      valido=1;
      }
      if(num==ptr->num)
      {
      nuevo->sig=ptr->sig;
      ptr->sig=nuevo;
      }
      ptr=ptr->sig;
      }
      printf("ndesea agregar otro numero? s/n: ");
      fflush(stdin);
      scanf("%c",&resp);
      }
      }

Más contenido relacionado

La actualidad más candente

Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
Luis Fernández
 
Deteccion de Ciclos en c
Deteccion de Ciclos en cDeteccion de Ciclos en c
Deteccion de Ciclos en cAbraham
 
Ejercicios de programacion en c++
Ejercicios de programacion en c++Ejercicios de programacion en c++
Ejercicios de programacion en c++
Tony Pesantez
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++
Luis Coba
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación
legnasilvana
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bFRESH221 C.R
 
Suma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimalesSuma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimaleslumarmaiella
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
Miguel Angel Peña
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++IngridBs
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
oswnes92
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
JoseGCordero
 
PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3
Jordan Puente
 

La actualidad más candente (19)

Algoritmos en c++
Algoritmos en c++Algoritmos en c++
Algoritmos en c++
 
Andres
AndresAndres
Andres
 
Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
 
Deteccion de Ciclos en c
Deteccion de Ciclos en cDeteccion de Ciclos en c
Deteccion de Ciclos en c
 
Ejercicios de programacion en c++
Ejercicios de programacion en c++Ejercicios de programacion en c++
Ejercicios de programacion en c++
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación
 
Include
IncludeInclude
Include
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Suma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimalesSuma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimales
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
 
Practica de programacion 21 28
Practica de programacion 21 28Practica de programacion 21 28
Practica de programacion 21 28
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
 
Resultado de una raiz
Resultado de una raizResultado de una raiz
Resultado de una raiz
 
PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3
 

Similar a Programa en c de listas

PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1
Jordan Puente
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Robin riberoprograma2
Robin riberoprograma2Robin riberoprograma2
Robin riberoprograma2Jose Tannous
 
Andres quintal.doc
Andres quintal.docAndres quintal.doc
Andres quintal.docandresm92
 
Ejercicios de programacionc++
Ejercicios de programacionc++Ejercicios de programacionc++
Ejercicios de programacionc++
Cecilia Villarreal
 
algoritmos y Programacion
algoritmos y Programacionalgoritmos y Programacion
algoritmos y Programacion
Paquin Enriquez Guevara
 
Practicas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaPracticas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaDariio Lopezz Young
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
Alejandro Enrique Téllez López
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
Javier Cuenca
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
Alex Pin
 
programas varios de visual
programas varios de visualprogramas varios de visual
programas varios de visual
danny leon
 
Carpeta programacion i2
Carpeta programacion i2Carpeta programacion i2
Carpeta programacion i2cristianvini90
 
Tipos de Ordenamiento en C
Tipos de Ordenamiento en CTipos de Ordenamiento en C
Tipos de Ordenamiento en CAbraham
 
JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++
Freddy Fuentes
 
Informe tecnico
Informe tecnicoInforme tecnico

Similar a Programa en c de listas (20)

PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Robin riberoprograma2
Robin riberoprograma2Robin riberoprograma2
Robin riberoprograma2
 
Andres quintal.doc
Andres quintal.docAndres quintal.doc
Andres quintal.doc
 
Ejercicios de programacionc++
Ejercicios de programacionc++Ejercicios de programacionc++
Ejercicios de programacionc++
 
algoritmos y Programacion
algoritmos y Programacionalgoritmos y Programacion
algoritmos y Programacion
 
Practicas c++
Practicas c++Practicas c++
Practicas c++
 
Practicas c++
Practicas c++Practicas c++
Practicas c++
 
Practicas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaPracticas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzada
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
 
programas varios de visual
programas varios de visualprogramas varios de visual
programas varios de visual
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Carpeta programacion i2
Carpeta programacion i2Carpeta programacion i2
Carpeta programacion i2
 
Tipos de Ordenamiento en C
Tipos de Ordenamiento en CTipos de Ordenamiento en C
Tipos de Ordenamiento en C
 
JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 

Último

Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 

Último (20)

Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 

Programa en c de listas

  • 1. PROGRAMA EN C++ SOBRE LISTA SIMPLE ENLAZADA.
  • 2. #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<string.h> struct lista { int num; struct lista *sig; }; typedef struct lista nodo; void inicio(); void final(); void mostrar(); void del(); void antes(); void despues(); nodo *cab=NULL; nodo *ult=NULL; int main() { int opc=0; while(opc!=7) { clrscr(); printf("nMENUn1.- ingresar al inicion2.- ingresar al finaln3.- insertar antesn4.- insertar despuesn5.- imprimirn6.- eliminarn7.- salirningrese su opcion: "); scanf("%d",&opc);
  • 3. switch(opc) { case 1: inicio(); break; case 2: final(); break; case 3: antes(); break; case 4: despues(); break; case 5: mostrar(); break; case 6: del(); break; } } } void inicio() { nodo *nuevo; char resp='s'; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); if(cab==NULL) { cab=nuevo; nuevo->sig=cab; ult=cab; }
  • 4. else { nuevo->sig=cab; cab=nuevo; ult->sig=cab; } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } } void final() { nodo *nuevo; char resp='s'; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); if(cab==NULL) { cab=nuevo; nuevo->sig=cab; ult=cab; } else { ult->sig=nuevo; ult=nuevo; ult->sig=cab; } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } }
  • 5. void mostrar() { nodo *ptr; int valido=0; ptr=cab; while(valido!=1) { if(ptr==ult) { valido=1; } printf("%d",ptr->num); ptr=ptr->sig; } getch(); } void del() { nodo *ptr; nodo *pkr; nodo *aux=NULL; int num, y=0, valido=0, vali2=0, vali3=0; ptr=cab; pkr=cab; printf("ningrese el numero a borrar: "); scanf("%d",&num); while(valido!=1) { if(ptr==ult) { valido=1; } if(num==ptr->num) { aux=ptr; y=1; }
  • 7. } } void antes() { nodo *nuevo, *ptr, *pkr, *aux; int num, y=0, valido=0; char resp='s'; ptr=cab; pkr=cab; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); printf("nantes de quien quiere ingresar? INGRESE EL NUMERO: "); scanf("%d",&num); while(valido!=1) { if(ptr==ult) { valido=1; } if(num==ptr->num) { aux=ptr; y=1; } while(y==1) { if(pkr->sig==aux) { pkr->sig=nuevo; nuevo->sig=aux; y=0; } pkr=pkr->sig; } ptr=ptr->sig;
  • 8. } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } } void despues() { nodo *ptr, *nuevo; ptr=cab; char resp='s'; int num, valido=0; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); printf("ndespues de quien quiere ingresar? INGRESE EL NUMERO: "); scanf("%d",&num); while(valido!=1) { if(ptr==ult) { valido=1; } if(num==ptr->num) { nuevo->sig=ptr->sig; ptr->sig=nuevo; } ptr=ptr->sig; } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } }