1 / 1 / 1
Регистрация: 27.12.2014
Сообщений: 26
1

Помогите найти ошибки в реализации класса «Очередь»

18.12.2015, 00:13. Показов 377. Ответов 3
Метки нет (Все метки)

Класс «Очередь». Методы: добавление элемента, удаление элемента, удаление из очереди всех элементов, равных заданному значению. начал работать с С# только недавно, некоторых моментов не понимаю

текст программы:

ochered.cs
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace lab2_TP
{
    class ochered<T> : Queue<T>
    {
        public void addElement(T Element)
        {
            base.Enqueue(Element);
        }
 
        public T RemoveElement()
        {
            return base.Dequeue();
        }
 
        public void PrintQueue()
        {
            foreach (T Element in this)
            {
                System.Console.Write(Element + " ");
            }
        }
 
        public void RemoveByValue(T value)
        {
            if (!this.Contains(value))
            {
                System.Console.WriteLine("No elements to delete");
                return;
            }
            while (this.Contains(value))
            {
                while (!this.Peek().Equals(value))
                {
                    this.addElement(this.RemoveElement());
                }
                this.RemoveElement();
            }
        }
 
    }
}


Program.cs
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.numeric;
 
namespace lab2_TP
{
    class Program
    {
        static void Main(string[] args)
        {
            //целочисленный набор ========================
            ochered<int> q1 = new ochered<int>();
            int v1 = 6;
            q1.addElement(5);
            q1.addElement(6);
            q1.addElement(6);
            q1.addElement(7);
            System.Console.WriteLine("Queue of int:");
            q1.PrintQueue();
            q1.RemoveByValue(v1);
            System.Console.WriteLine();
            System.Console.WriteLine("Deleted by " + v1);
            q1.PrintQueue();
            System.Console.WriteLine();
            //вещественный набор =============================
            ochered<double> q2 = new ochered<double>();
            double v2 = 0.34;
            q2.addElement(0.34);
            q2.addElement(6.0435);
            q2.addElement(7.294);
            q2.addElement(2.94);
            System.Console.WriteLine("Queue of double:");
            q2.PrintQueue();
            q2.RemoveByValue(v2);
            System.Console.WriteLine();
            System.Console.WriteLine("Deleted by " + v2);
            q2.PrintQueue();
            System.Console.WriteLine();
            //комплексный набор ==================================
            ochered<Complex> q3 = new ochered<Complex>();
            Complex v3 = new Complex(3.1, 7.23);
            Complex c1 = new Complex(3, 5);
            Complex c2 = new Complex(0.28, 8);
            Complex c3 = new Complex(3.1, 7.23);
            q3.addElement(c1);
            q3.addElement(c2);
            q3.addElement(c3);
            System.Console.WriteLine("Queue of complex:");
            q3.PrintQueue();
            q3.RemoveByValue(v3);
            System.Console.WriteLine();
            System.Console.WriteLine("Deleted by " + v3);
            q3.PrintQueue();
            System.Console.WriteLine();
            //еще один целочисленный набор ========================
            ochered<int> q4 = new ochered<int>();
            int v4 = 10;
            q4.addElement(8);
            q4.addElement(765);
            q4.addElement(34);
            q4.addElement(9);
            System.Console.WriteLine("Queue of another int:");
            q4.PrintQueue();
            System.Console.WriteLine();
            q4.RemoveByValue(v4);
            System.Console.WriteLine("Deleted by " + v4);
            q4.PrintQueue();
            System.Console.WriteLine();
            System.Console.ReadKey();
        }
    }
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2015, 00:13
Ответы с готовыми решениями:

Найти ошибки в реализации клиент-серверного приложения
У меня клиент не работает как надо и с сервером проблемка Сервер using System; using...

Найти ошибки в реализации класса треуголник на плоскости
Реализовать класс &quot;Треугольник на плоскости&quot;. Поля - координаты вершин. Методы - подсчет...

Ошибки в реализации класса Vector3D
Здравствуйте. Помогите дурачку. Создать класс Vector3D. Реализовать: сложение векторов, скалярное...

Найти и исправить ошибки в реализации алгоритма Дейкстры
Алгоритм Дейкстры (построение путей с минимальными цепями) #include&lt;iostream.h&gt;...

3
741 / 482 / 187
Регистрация: 30.12.2012
Сообщений: 1,277
Записей в блоге: 2
18.12.2015, 00:27 2
Adam1995, а вы уверены, что нужно реализовывать вашу очередь, наследуя от класса Queue<T>? Похоже на учебное задание. Какой тогда в нём смысл?
0
1 / 1 / 1
Регистрация: 27.12.2014
Сообщений: 26
18.12.2015, 00:53  [ТС] 3
я через примеры делал. как правильно будет я не знаю честно
0
741 / 482 / 187
Регистрация: 30.12.2012
Сообщений: 1,277
Записей в блоге: 2
18.12.2015, 10:17 4
Adam1995, очередь можно реализовать через обыкновенный массив. Помните главный принцип очереди: "первым вошёл - первым вышел".

Посмотрите как устроена Queue<T> здесь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2015, 10:17

Помогите найти ошибку в реализации графика
Помогите с графиком. Одна из частей программы это демонстрация графика, я вроде как код написал ...

Отделение интерфейса от реализации класса: компиляция кода реализации
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса....

Сможете найти ошибки в реализации алгоритма Гаусса Зейделя для вычисления СЛУ
Procedure GaussZeid; Var k,kol,l:Integer; q,r,s:extended; Begin k:=0; kol:=0; for i:=1 to n-1...

Ошибки "Expression syntax" и "Unreachable code" при реализации класса матриц
Подскажите по коду. #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include &lt;string.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.