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

Класс в С# целые числа

15.03.2011, 22:38. Показов 2332. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс ‘очередь целых чисел’ с компонентными данными: указатели на начало и конец очереди (статические компоненты), максимальный размер очереди, область памяти (массив) для элементов очереди. Предусмотреть компонентные функции: поместить число в очередь, извлечь число из очереди, проверить очередь на пустоту, вывести содержимое очереди на экран.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2011, 22:38
Ответы с готовыми решениями:

Олимпиадная задача (10 класс, целые числа)
Доброго времени суток. Помогите разобрать след. задачу: "Целые числа m и n таковы, что сумма...

Реализовать длинные целые числа в виде класс
здравствуйте,только начала изучение классов,помогите с решением задачи:нужно реализовать длинные...

Класс Hugeint (целые числа) Операции: - =, сравнение(<, >)
Описать класс, который реализовывает указанный ниже тип данных. Класс должен содержать множину...

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.
Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по...

8
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
15.03.2011, 23:32 2
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
        class intQueue
        {
            private int[] queue;
 
            public int lenght { get; private set; }
            public int head { get; private set; }
            public int tail { get; private set; }
            public bool empty { get { return this.head == this.tail; } }
 
            public intQueue(int len)
            {
                this.queue = new int[len];
                this.lenght = len;
                this.head = this.tail = 0;
            }
 
            public void enq(int val)
            {
                this.queue[this.tail] = val;
                if (this.tail + 1 > this.lenght) this.tail = 0;
                else this.tail++;
            }
 
            public int deq()
            {
                if (this.empty) throw new Exception("queue is empty");
                return this.queue[this.head++];
            }
        }
1
1 / 1 / 0
Регистрация: 11.03.2011
Сообщений: 19
16.03.2011, 10:39  [ТС] 3
а можно ,пожалуйста, объяснить что здесь что?
0
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
16.03.2011, 21:52 4
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
        class intQueue //class declaration
        {
            private int[] queue; //array for queue
 
            public int length { get; private set; } //auto-prop for length
            public int head { get; private set; } //head index of queue
            public int tail { get; private set; } //tail index of queue
            public bool empty { get { return this.head == this.tail; } } //this prop means that queue empty or not
 
            public intQueue(int len) //constructor
            {
                this.queue = new int[len]; //creating array
                this.length = len;
                this.head = this.tail = 0;
            }
 
            public void enq(int val) //method push into queue new number
            {
                this.queue[this.tail] = val; //pushing number
                if (this.tail + 1 > this.length) this.tail = 0; //if tail index greatest than queue length then tail index equal to zero
                else this.tail++; //else, simply add one to tail index
            }
 
            public int deq() //method pop from queue one number
            {
                if (this.empty) throw new Exception("queue is empty"); //if queue empty throw exception
                return this.queue[this.head++]; //else, return number, and increase head index
            }
        }
1
1 / 1 / 0
Регистрация: 11.03.2011
Сообщений: 19
16.03.2011, 23:00  [ТС] 5
А можно написать как то попроще,без индексаторов this ??? и как найти максимальный размер очереди???
Цитата Сообщение от Alex Sabaka Посмотреть сообщение
this.queue[this.tail]

Цитата Сообщение от Alex Sabaka Посмотреть сообщение
this.queue = new int[len]; //creating array
* * * * * * * * this.length = len;
* * * * * * * * this.head = this.tail = 0
throw new Exception
0
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
16.03.2011, 23:11 6
Цитата Сообщение от BlackMilkTea Посмотреть сообщение
без индексаторов this
В данном случае это не индексатор, а ссылка на текущий объект intQueue.
Максимальный размер это length.


Цитата Сообщение от BlackMilkTea Посмотреть сообщение
throw new Exception
И?
1
1 / 1 / 0
Регистрация: 11.03.2011
Сообщений: 19
16.03.2011, 23:34  [ТС] 7
я вас понял, спасибо,а можно полностью написать программу вместе с главным телом, и как нибудь пороще без THIS, если это возможно?
пожалуйста!!!
0
637 / 498 / 77
Регистрация: 28.07.2010
Сообщений: 895
17.03.2011, 18:05 8
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
        class intQueue
        {
            private int[] queue;
 
            public int lenght { get; private set; }
            public int head { get; private set; }
            public int tail { get; private set; }
            public bool empty { get { return this.head == this.tail; } }
 
            public intQueue(int len)
            {
                queue = new int[len];
                lenght = len;
                head = tail = 0;
            }
 
            public void enq(int val)
            {
                queue[tail] = val;
                if (tail + 1 > lenght) tail = 0;
                else tail++;
            }
 
            public int deq()
            {
                if (empty) throw new Exception("queue is empty");
                return queue[this.head++];
            }
        }
 
public static void Main()
{
    intQueue iq = new intQueue(100);
    for (int i = 0; i < 50; ++i) iq.enq((new Random(i)).Next());
    int sum = 0;
    for (int i = 0; i < 50; ++i) sum += iq.deq();
    Console.WriteLine(sum);
}
1
1 / 1 / 0
Регистрация: 11.03.2011
Сообщений: 19
17.03.2011, 19:14  [ТС] 9
спасибо большое,надеюсь пойму!
0
17.03.2011, 19:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2011, 19:14
Помогаю со студенческими работами здесь

Даны целые положительные числа A и B (A < B). Вывести все целые числа от A до B включительно; при этом каждое
Даны целые положительные числа A и B (A &lt; B). Вывести все целые числа от A до B включительно; при...

В порядке убывания напечатать все целые числа из диапазона 1 . 100, которые можно представить в виде., где n, k - целые числа
В порядке убывания напечатать все целые числа из диапазона 1 .. 100, которые можно представить в...

Программа (класс), которая выводит на экран все целые двузначные числа
Всем привет. Простите сразу, может для кого-то глупый вопрос, но есть такая задача: Напиши...

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

Реализовать класс Table, который хранит целые числа в двумерной таблице
Реализовать класс Table, который хранит целые числа в двумерной таблице. При инициализации...

Разработать программу используя класс калькулятор с полями x, y - целые числа и методы +, -, /, *) и вывода ре
Разработать программу используя класс калькулятор с полями x, y - целые числа и методы +, -, /, *)...


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

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