none
Me pueden ayudar con este programa? RRS feed

  • Pregunta

  • Primero que nada buenas tardes a todos, lo que quería saber es si este programa tiene algún error y en caso de ser así, me podrían decir cuál es el error por favor? De antemano, muchas gracias.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace Listas
    {
        class ListasCirculares
        {
            class Nodo
            {
                public int edad;
                public Nodo sig;
            }

            private Nodo raiz;
            

            public ListasCirculares()
            {
                raiz = null;
            }

            public void Insertar(int x)
            {
                Nodo aux = null;
                Nodo nuevo = new Nodo();
                nuevo.edad = x;
                
                if (raiz == null)
                {
                    raiz = nuevo;
                    
                }
                else
                {
                    aux = raiz;
                    while(aux.sig != null)
                        aux = aux.sig;
                }
                nuevo.sig = raiz;
            }

            

            
            static void Main(string[] args)
            {
                ListasCirculares NuevaPila = new ListasCirculares();
                NuevaPila.Insertar(18);
                NuevaPila.Insertar(19);
                NuevaPila.Insertar(20);
                Console.ReadKey();
            }
        }
    }

    martes, 16 de octubre de 2018 21:15

Respuestas

  • Buenas,

    Que problema te da? No te compila? O no funciona como esperas?

    Te marca algún error? Que es lo que esperas que haga tu código?

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    martes, 16 de octubre de 2018 21:39
  • Muy interesante el ejercicio para romper una tarde tediosa de trabajo... (esto me alegro el día)

    creo que la idea es crear una lista con nodos anidados (Agregue la propiedad nombre para identificar los nodos)

    Algo asi:


    si es asi... lo que debes hacer es obtener el ultimo nodo para insertar uno nuevo

    public void Insertar(int x)
    {
      Nodo aux = null;
      Nodo nuevo = new Nodo();
      nuevo.Nombre = $"Nodo {idx}";
      nuevo.edad = x;
    
      if (raiz == null)
      {
        raiz = nuevo;
      }
      else
      {
        aux = ObtenerUltimo(raiz);
        aux.sig = nuevo;
      }
      idx++;
    }
    
    - - - - 
    private Nodo ObtenerUltimo(Nodo nodo)
    {
        Nodo ultimo = null;
    
        if (nodo.sig == null)
            ultimo = nodo;
        else
            ultimo = ObtenerUltimo(nodo.sig);
    
        return ultimo;
    }

    Espero te sirva...

    gracias

    martes, 16 de octubre de 2018 22:15

Todas las respuestas

  • Buenas,

    Que problema te da? No te compila? O no funciona como esperas?

    Te marca algún error? Que es lo que esperas que haga tu código?

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    martes, 16 de octubre de 2018 21:39
  • Me dijeron que había un error, lo he compilado pero no me marca nada de errores, no he identificado cuál sería el error.
    martes, 16 de octubre de 2018 21:51
  • Muy interesante el ejercicio para romper una tarde tediosa de trabajo... (esto me alegro el día)

    creo que la idea es crear una lista con nodos anidados (Agregue la propiedad nombre para identificar los nodos)

    Algo asi:


    si es asi... lo que debes hacer es obtener el ultimo nodo para insertar uno nuevo

    public void Insertar(int x)
    {
      Nodo aux = null;
      Nodo nuevo = new Nodo();
      nuevo.Nombre = $"Nodo {idx}";
      nuevo.edad = x;
    
      if (raiz == null)
      {
        raiz = nuevo;
      }
      else
      {
        aux = ObtenerUltimo(raiz);
        aux.sig = nuevo;
      }
      idx++;
    }
    
    - - - - 
    private Nodo ObtenerUltimo(Nodo nodo)
    {
        Nodo ultimo = null;
    
        if (nodo.sig == null)
            ultimo = nodo;
        else
            ultimo = ObtenerUltimo(nodo.sig);
    
        return ultimo;
    }

    Espero te sirva...

    gracias

    martes, 16 de octubre de 2018 22:15