Удалить элемент из стека

Тема в разделе ".NET", создана пользователем Tamchik, 19 ноя 2010.

  1. Tamchik

    Tamchik Active Member

    Регистрация:
    10 мар 2010
    Сообщения:
    27
    Симпатии:
    0
    кто нибудь знает каким оператором C# можно удалить элемент из стека (RemoveAt не подходит для консоли)??
     
  2. Tamchik

    Tamchik Active Member

    Регистрация:
    10 мар 2010
    Сообщения:
    27
    Симпатии:
    0
    Ну вот код
    Код (Text):
    using System;
    using System.Text;
    using System.IO;
    using System.Text.RegularExpressions;
    using System.Collections;


    namespace stek
    {
    class MainClass
    {
    public static void Main(string[] args)
    {
    Stack s = new Stack();//объявляем стек s.
    StreamReader fileIn = new StreamReader("LS.txt");//выводим файл.

    string findNumb = "6";

    while (!fileIn.EndOfStream)
    {
    string text1 = fileIn.ReadLine();
    //Console.WriteLine(text1);
    s.Push(text1);//помещаем считанные строки в стек
    Console.WriteLine(s.Peek());
    }

    Console.WriteLine("в стеке содержиться " + s.Count + " элементов");

    //находим индекс элемента который ищем
    int idx = Array.IndexOf(s.ToArray(), findNumb);

    for (int i = 0; i < s.Count; i++)
    {
    if (i == 6)
    {
    s.Pop();//и удаляем его
    }
    }


    Console.WriteLine("После удаления в стеке осталось " + s.Count + " элементов");
    Console.ReadKey();
    }

    }
    }
    вот код надо удалить 6 элемент стека и вывести полученный результат в консоль
     
  3. Tamchik

    Tamchik Active Member

    Регистрация:
    10 мар 2010
    Сообщения:
    27
    Симпатии:
    0
    Если долго мучатся что нить получица вот пожалуйста прога удаляет элемент из стека:
    Код (Text):
    using System;
    using System.Collections.Generic;
    using System.Collections;
    using System.IO;
    namespace steknew
    {
    class MainClass
    {
    public static void Main(string[] args)
    {
    Stack s = new Stack();//инициалиируем первый стек
    StreamReader fileIn = new StreamReader ("LS.txt");//вывод на файл
    /////////////////Цикл для помещения символов из текстового файла в стек s////////////////////
    for(int i = 0; i < 9; i++)
    {
    String text = fileIn.ReadLine();
    s.Push(text);
    }
    ////////////////////////////////////////////////////////////////////////////////////////////
    Stack st = new Stack();//инициализируем второй стек
    Console.WriteLine("Введите номер элемента для удаления:");//выводим вопрос в консоль
    int del = int.Parse(Console.ReadLine());//переменная для обозначения считанного числа
    /////////////////Цикл для помещения символов из стека s в стек st до введеного пользователем элемента
    for(int i = 0; i < del; i++)
    {
    st.Push(s.Pop());
    }
    //////////////////////////////////////////////////////////////////////////////////////////////////////
    st.Pop();//удаляем верхний элемент стека st
    /////////////////Цикл для помещения символов из стека st в стек s до введеного пользователем элемента
    int count = st.Count;
    Console.WriteLine("размер стека s = " + s.Count);
    Console.WriteLine("размер стека st = " + st.Count);
    for(int i = 0; i < count; i++)
    {
    s.Push(st.Pop());
    }
    Console.WriteLine("размер стека s после удаления элемента = " + s.Count);
    Console.WriteLine("Верхний элемент стека = " + s.Peek());
    Console.WriteLine("Полученный стек:");
    for(int i = 0; i < 8; i++)
    {
    Console.WriteLine(s.Pop());
    }
    Console.ReadKey();
    }
    }
    }
     

    Вложения:

    • ___.jpg
      ___.jpg
      Размер файла:
      14,6 КБ
      Просмотров:
      19
Загрузка...

Поделиться этой страницей