Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 10
1

Создать очередь и удалить из нее каждый второй элемент

04.12.2017, 18:10. Показов 4087. Ответов 5
Метки нет (Все метки)

Здравствуйте!
Помогите, пожалуйста, с решением такой задачи, как создание очереди и удаления из нее каждого второго элемента.
Сам новичок, потому не понимаю, как это сделать.
-
Заранее спасибо!)
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2017, 18:10
Ответы с готовыми решениями:

Создать массив: первый элемент равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих
Даны целые числа N (> 2), A и B. Сформировать и вывести цело- численный массив размера N, первый...

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

Создать очередь. Добавить элемент в очередь. Удалить элемент из очереди
Нужно создать очередь. Добавить элемент в очередь. Удалить элемент из очереди. Вот моё...

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу,...

5
9 / 9 / 7
Регистрация: 15.09.2017
Сообщений: 184
04.12.2017, 22:14 2
Что за очередь?
0
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 10
04.12.2017, 22:34  [ТС] 3
В смысле? Обычная очередь. Структура данных.
Элементы из которых она будет состоять не важны.
Например, числа. Т.е. 1, 3, 7, 5, 6, 9, 8, 10. И нужно удалить каждый второй элемент
0
36 / 36 / 29
Регистрация: 12.10.2014
Сообщений: 351
04.12.2017, 23:18 4
Лучший ответ Сообщение было отмечено _SeSn_ как решение

Решение

Если я правильно понял, то вот так:
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;
namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {
            //Создадим очередь
            Queue<int> qe = new Queue<int>();
            Random ran = new Random();
            //заполним первые 10 элементов (с конца, т.к. Enqueue),значениями.
            for (int i = 0; i < 10; i++) qe.Enqueue(ran.Next(1, 10));
            //выведем получившуюся очередь
            Console.WriteLine("Изначальная очередь");
            int x = 0;
            foreach (int per in qe)
            {
                Console.Write(per + " ");
            }
            //Считаем количество операций;
            int a = qe.Count;
            int b = 1;
            while (b <= a){
 
                if ((b%2)==0)
                {
                    qe.Dequeue();
                }
                else
                {
                    int prom = qe.Dequeue();
                    qe.Enqueue(prom);
                }
                b++;
                
            }
            //выведем конечную очередь
            Console.WriteLine("\nКонечная очередь");
            foreach (int per in qe)
            {
                Console.Write(per + " ");
            }
            Console.Read();
        }
    }
}
1
3060 / 2175 / 1078
Регистрация: 14.08.2016
Сообщений: 7,447
04.12.2017, 23:27 5
Лучший ответ Сообщение было отмечено _SeSn_ как решение

Решение

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
            var queue = new Queue<int>();
            queue.Enqueue(1);
            queue.Enqueue(3);
            queue.Enqueue(7);
            queue.Enqueue(5);
            queue.Enqueue(6);
            queue.Enqueue(9);
            queue.Enqueue(8);
            queue.Enqueue(10);
            queue.Enqueue(11);
            foreach(int per in queue)
            {
                Console.Write(per + " ");
            }
            Console.WriteLine();
            int n = queue.Count;
            bool keep = true;
            for(int i = 0; i < n; i++)
            {
                if(keep)
                {
                    queue.Enqueue(queue.Dequeue());
                    keep = !keep;
                }
                else
                {
                    queue.Dequeue();
                    keep = !keep;
                }
            }
            foreach(int per in queue)
            {
                Console.Write(per + " ");
            }
            Console.ReadKey();
1
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 10
04.12.2017, 23:48  [ТС] 6
Да, все верно, спасибо Вам огромное)

Добавлено через 7 минут
Diamante, спасибо и Вам за ваше решение)
Все прекрасно работает)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2017, 23:48

Удалить из списка каждый второй элемент
Удалить из. списка каждый второй элемент

Удалить каждый второй элемент массива
Помогите решить. Дан одномерный массив, из него нужно удалить каждый 2й элемент без использования...

Удалить каждый второй элемент из списка
написать ф-ю удаление из списка к-го 2го эл-та

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


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

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

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