Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
11 / 11 / 5
Регистрация: 08.09.2013
Сообщений: 88
1

Переделать код: из FIFO в FILO

21.01.2014, 11:26. Показов 4348. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Имеется код на C#, буфер FIFO с использованием обобщений.
Требуется переделать его под FILO. Буду очень признателен, если кто-то отредактирует код. Как я понимаю, изменения должны быть небольшими.

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Text;
using System.Windows.Forms;
 
namespace LabaSeven
{
    
 
    public partial class TaskThree : Form
    {
        Queue<int> _fifo = new Queue<int>();
        int[] massive = new int[100];
 
        public TaskThree()
        {
            InitializeComponent();
        }
 
        private void ShowFifo ()
        {
            FifoList.Clear();
            foreach (var i in _fifo) FifoList.Text += i.ToString() + "\n";
        }
 
        private void Add_Click(object sender, EventArgs e)
        {
            try
            {
                _fifo.Enqueue(int.Parse(AddText.Text));
                
               
            }
            catch (Exception)
            {
 
                MessageBox.Show("Элемент не является типом Int");
                return;
            }
            ShowFifo();
 
        }
 
        private void label7_Click(object sender, EventArgs e)
        {
         
            try
            {
                _fifo.Enqueue(int.Parse(AddText.Text));
               
            }
            catch (Exception)
            {
 
                MessageBox.Show("Элемент не является типом Int");
                return;
            }
            ShowFifo();
        }
 
        private void textBox3_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void label3_Click(object sender, EventArgs e)
        {
            try
            {
                _fifo.Clear();
              
                
            }
            catch (Exception)
            {
                MessageBox.Show("Очередь пуста");
                return;
            }
 
            ShowFifo();
        }
 
        private void label5_Click(object sender, EventArgs e)
        {
            try
            {
                MessageBox.Show("Удаляем первый элемент: " + _fifo.Dequeue().ToString(CultureInfo.InvariantCulture));
            }
            catch (Exception)
            {
                MessageBox.Show("Очередь пустая");
                return;
            }
            ShowFifo();
        }
 
        private void label6_Click(object sender, EventArgs e)
        {
            try
            {
                MessageBox.Show("Первый элемент: " + _fifo.Peek().ToString(CultureInfo.InvariantCulture));
            }
            catch (Exception)
            {
                MessageBox.Show("Очередь пустая");
                return;
            }
 
            ShowFifo();
        }
 
        private void label9_Click(object sender, EventArgs e)
        {
            try
            {
                MessageBox.Show(_fifo.Count.ToString(CultureInfo.InvariantCulture));
            }
            catch (Exception)
            {
 
                MessageBox.Show("Очередь пустая");
                return;
            }
        }
 
        private void label11_Click(object sender, EventArgs e)
        {
            var myRand = new Random();
            for (int i = 0; i < 5; i++)
            {
                try
                {
                    _fifo.Enqueue(myRand.Next(500));
                }
                catch (Exception)
                {
 
                    MessageBox.Show("Что-то пошло не так!");
                    return;
                }
            }
            ShowFifo();   
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
        }
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2014, 11:26
Ответы с готовыми решениями:

FiLo односвязный список
Здравствуйте! Имеется такая задача: В FiLo на базе односвязного списка написать метод,...

Код написан в Dev C. Не работает в Visual. Как нужно переделать код?
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт...

Переделать код содержащий в себе цикл с параметром, в код с циклом с ПРЕДУСЛОВИЕМ (while do)
Program Sum_Del; Var N, I, Sum_Max, Sum, K, Ch : Integer; Begin Write('Введите число N: '); ...

Переделать исходный код. Код в Паскале,а нужно сделать его в Фортране
{$S+,R+} program arab_to_roman; uses crt; var n : word; ch : char; procedure...

5
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
21.01.2014, 11:36 2
Добрый день.
Изменения очень просты:
1. В строке 16 поменяйте Queue<int> на Stack<int>
2. В строках 34, 53 и 137 поменяйте Enqueue на Push
3. Переименуйте переменную _fifo в _filo
2
11 / 11 / 5
Регистрация: 08.09.2013
Сообщений: 88
21.01.2014, 11:40  [ТС] 3
Цитата Сообщение от kolorotur Посмотреть сообщение
Добрый день.
Изменения очень просты:
1. В строке 16 поменяйте Queue<int> на Stack<int>
2. В строках 34, 53 и 137 поменяйте Enqueue на Push
3. Переименуйте переменную _fifo в _filo
Как и предполагал, спасибо большое
Тогда вопрос вдогонку.
Не могли бы пояснить разницу между FILO и LIFO?
Запрос FILO в гугле меня усиленно отправлял на статью из Википедии о стеке. Но что странно, в самой статье сочетание "FILO" ни разу не встречалось. Упоминалось же только LIFO.
Отсюда у меня пошло подозрение, что переделка кода через класс стека будет неверной.
Чем же все-таки различаются FILO и LIFO, и как различие проявится на примере моего кода?
Надеюсь, достаточно ясно изъяснился.
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
21.01.2014, 11:42 4
Цитата Сообщение от Victor Grey Посмотреть сообщение
сочетание "FILO" ни разу не встречалось. Упоминалось же только LIFO.
Отсюда у меня пошло подозрение, что переделка кода через класс стека будет неверной.
Чем же все-таки различаются FILO и LIFO, и как различие проявится на примере моего кода?
Улыбнулся, спасибо

FILO = First In, Last Out (первым зашел, последним вышел)
LIFO = Last In, First Out (последним зашел, первым вышел).

Как видите, это одно и то же — разница в названии.
0
11 / 11 / 5
Регистрация: 08.09.2013
Сообщений: 88
21.01.2014, 11:45  [ТС] 5
Цитата Сообщение от kolorotur Посмотреть сообщение
Улыбнулся, спасибо

FILO = First In, Last Out (первым зашел, последним вышел)
LIFO = Last In, First Out (последним зашел, первым вышел).

Как видите, это одно и то же — разница в названии.
А два названия были придуманы чтобы путать несчастных студентов, заставляя их терроризировать Гугл?
Или на практике FILO и LIFO используются под разные цели?
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
21.01.2014, 11:49 6
Цитата Сообщение от Victor Grey Посмотреть сообщение
А два названия были придуманы чтобы путать несчастных студентов, заставляя их терроризировать Гугл?
Терминологию никто не регламентировал, вот и напридумывали кто чего

Цитата Сообщение от Victor Grey Посмотреть сообщение
Или на практике FILO и LIFO используются под разные цели?
Это примерно как бордюр и поребрик.
Названия разные, а вещи абсолютно одни и те же и используются для одних и тех же целей.
Так что не парьтесь, FILO = LIFO
1
21.01.2014, 11:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2014, 11:49
Помогаю со студенческими работами здесь

Переделать код на код с рекурсией
Привет. Есть готовый код, нужно переделать его на код с рекурсией. Само задание для кода звучало...

возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi?
Подскажите возможно ли переделать код алгоритма под Borland C переделать под Borland Delphi? У меня...

переделать код
не работает код внутри макрокоманд(ну или что-то другое не правильно работает). Переделайте плз в...

Переделать код
Doc := WebBrowser1.OleObject.Document.GetElementsByTagName('tr'); for i := 0 to Doc.Length - 1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru