elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda a modificar una Pila C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda a modificar una Pila C#  (Leído 4,720 veces)
jacj0102

Desconectado Desconectado

Mensajes: 37


"Camina hacia el futuro!!!"


Ver Perfil
Ayuda a modificar una Pila C#
« en: 10 Agosto 2011, 21:35 pm »

Hola ante todo que tenga un buen dia. Tengo una duda del cual no puedo salir, ando intentandolo y no me resulta.
el problema es: Como modifico un dato que se encuentra dentro de una Pila, claro la pila fue llanado anteriormente por numeros aleatorios.

          
Código
  1. Random r = new Random();
  2.            int n, i, a;
  3.  
  4.            n = 20;
  5.            for (i = 1; i <= n; i++)
  6.            {
  7.                a = r.Next(1, 100);
  8.                pilaPrincipal.Push(a);
  9.                Console.WriteLine(a);
  10.            }
  11.  
  12.            Console.WriteLine();
  13.            Console.Write("Ingrese un numero: ");
  14.            int b = int.Parse(Console.ReadLine());
  15.  
  16.                int palabra;
  17.                for (byte x = 1; x < 20; x++)
  18.                {
  19.                    palabra = (int)pilaPrincipal.Pop();
  20.                    if (pilaPrincipal.Contains(b))
  21.                    {
  22.                        palabra = 0;
  23.  
  24.                    }
  25.                    Console.WriteLine(palabra);
  26.                }
  27.  
  28.            Console.Read();

como muestra en el codigo quiero buscar un dato y si se encuentra que lo cambie por el 0 en las posiciones que se encuentra, Por ejemplo cuando busco el numero 2 todos los 2 que se encuentren en la Pila se cambien por 0, no me resulta y no se como hacerlo espero me ayuden de antemano gracias.


« Última modificación: 10 Agosto 2011, 21:37 pm por jacj0102 » En línea

"La Raiz del Estudio es Amargo, Pero el Fruto es Dulce"
"Corrige al sabio y se hara mas sabio, corrige al necio y te lo echara de enemigo"
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda a modificar una Pila C#
« Respuesta #1 en: 18 Agosto 2011, 05:30 am »

Cual es el problema con lo que planteas? Que con pop estas extrayendo el elemento de la pila, por lo que lo más sencillo para hacerlo de manera lineal es sacar todos los datos y volverlos a poner modificados.

De cualquier modo mi sugerencia es revisar el planteo porque tu problema por sobre todo es de lógica


Saludos
 


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
neoncyber

Desconectado Desconectado

Mensajes: 90



Ver Perfil WWW
Re: Ayuda a modificar una Pila C#
« Respuesta #2 en: 18 Agosto 2011, 05:49 am »

Hola, si necesitaras la pila despues de modificar los valores, te recomendaria utilizar una pila auxiliar, aca te dejo un pseudo:
Código:
Pila p1 = LlenarAleatoriamente()
Pila pAux

While p1 no es vacia
   x = p1.Pop()
   If x es 2
      x = 0
   pAux.Push(x)

While pAux no es vacia
   p1.Push(pAux.Pop())

En C# seria algo como:

Código
  1. Stack<int> p1 = new Stack<int>();
  2. Stack<int> pAux = new Stack<int>();
  3. while(p1.Count != 0){
  4.   int item = p1.Pop();
  5.   pAux.Push(item == 2? 0 : item);
  6. }
  7. // Para voltear la pila aux en la pila de origen
  8. while(pAux.Count != 0)
  9.   p1.Push(pAux.Pop());
  10.  

Saludos
En línea

Código
  1. #!/usr/bin/python
  2. print "Visit:"
  3. print "http:\\donkeysharp.blogspot.com"
  4.  
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con agregar y eliminar pila
Programación C/C++
attackers 1 3,556 Último mensaje 31 Octubre 2011, 02:09 am
por rir3760
[Ayuda] Problemas con las direcciones en la pila
ASM
x64core 5 3,941 Último mensaje 21 Noviembre 2011, 01:19 am
por _Enko
Ayuda con la Pila (Stack)
ASM
isidora 6 5,801 Último mensaje 3 Diciembre 2011, 03:33 am
por Иōҳ
ayuda a llenar una pila automaticamente
Programación General
smallville121 0 2,291 Último mensaje 19 Mayo 2012, 18:58 pm
por smallville121
ayuda con pila de datos
Programación C/C++
Halcon_De_Chicureo 1 2,090 Último mensaje 15 Septiembre 2017, 01:26 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines