Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Kn0x
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 16
#1

Удаление элемента из очереди - C++

04.10.2013, 16:23. Просмотров 4015. Ответов 3
Метки нет (Все метки)

Здравствуйте, проблема с очередями, совсем их не понимаю, перечитал много статей все равно не доходит.(
Задание: Удалить каждый второй элемент из очереди.
Правдами не правдами написал часть кода, осталось дописать удаление каждого второго элемента, помогите пожалуйста.
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
#include <conio.h>
#include <iostream>
using namespace std;
struct Item {
int info;
Item* next;
};
 
void main ( )
{
    Item *first = 0; //Указатель на начало списка
    Item *p;
    int i,z,k;
    cout << "Vvedite kol-vo elementov v ocheredi\n";
    cin >> z;  // Создать список
    for (k=0;k<z;k++) 
    {
        cin >> i;
        p = new Item; // Создать новый элемент списка
        p->info = i;
        p->next = first ;  // Присоединить новый элемент к началу списка
        first = p;
    }
    // Пройти список и вывести элементы
    p = first;
    while (p) 
    {
        cout<< p->info << " " ;
        p = p->next;
    }
    // Пройти список и удалить элементы
    while (first) 
    {
        p = first;
        first = first->next ;
        delete p;
    }
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2013, 16:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление элемента из очереди (C++):

Создание очереди и удаление элемента очереди по усмотрению пользователя - C++
Вот код он создает очередь и должен удалить элемент очереди по усмотрению пользователя проблема заключается в том что при попытки удалить...

Удаление элемента из очереди - C++
У меня в функции удаления элемента, удаляется элемент тот, который ввели последним, а надо первый элемент (тот что ввели первым) Как...

Удаление элемента из очереди по срабатыванию условия - C++
таким путем добавляю новую запись в очередь: void Add(Queue *Q, char kolname, int kolperiod, int kolvrem9) //добавление элемента { ...

Поиск максимального и минимального элемента в очереди, удаление элементов между максимальным и минимальным - C++
Задача следующая: написать функцию, которая ищет максимальный и минимальный элементы в очереди и удаляет элементы, находящиеся между ними....

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

queue удаление из очереди - C++
Создать однонаправленную очередь с числами в диапазоне от –50 до +50. Удалить из очереди все элементы, расположенные до минимального ...

3
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
04.10.2013, 16:33 #2
Задайте переменную допустим count, первоначальное значение задайте ей допустим 0. Создайте цикл в котором от начало до конца будете перебирать вашу очередь. Затем каждый раз увеличивайте вашу переменную count. И сделайте условие если count == 2, тогда цепь соедините так, следующий должен быть равен предыдущему, и текущий delete. Вот и все.
0
Kn0x
0 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 16
04.10.2013, 16:40  [ТС] #3
Цитата Сообщение от Bend3r Посмотреть сообщение
Задайте переменную допустим count, первоначальное значение задайте ей допустим 0. Создайте цикл в котором от начало до конца будете перебирать вашу очередь. Затем каждый раз увеличивайте вашу переменную count. И сделайте условие если count == 2, тогда цепь соедините так, следующий должен быть равен предыдущему, и текущий delete. Вот и все.
то что вы написали, как я понимаю, удалит только 2ой элемент очереди, а мне надо каждый второй.
И потом, я немного не понимаю как это программно записать
0
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
04.10.2013, 16:43 #4
Цитата Сообщение от Kn0x Посмотреть сообщение
то что вы написали, как я понимаю, удалит только 2ой элемент очереди, а мне надо каждый второй.
И потом, я немного не понимаю как это программно записать
Вы ошибаетесь, просто нужно каждый раз переменной count присваивать значение 0.

Добавлено через 1 минуту
Цитата Сообщение от Kn0x Посмотреть сообщение
я немного не понимаю как это программно записать
Научитесь просто удалять все элементы, затем думаю все вам проясниться.
Удаление положительных элементов очереди
1
04.10.2013, 16:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2013, 16:43
Привет! Вот еще темы с ответами:

Удаление положительных элементов очереди - C++
Нужно написать программу для удаления положительных элементов очереди :) ВВод очереди осуществляется так: void vvod_ochered(int mas,int...

Как происходит удаление элементов из очереди? - C++
Объясните пожалуйста как происходит удаление элементов из очереди!! Допустим есть статическая очередь из 10 элементов. Как их удалить? как...

Удаление из очереди чисел, кратных пяти - C++
Создать очередь из целых чисел. Вывести исходную очередь. Удалить из этой очереди числа кратные пяти. Вывести полученную очередь...

Удаление звеньев созданный по принципу очереди с++ - C++
Программа должна должна удалять звенья в которых Elem нечётный, где ошибка? Просто не работает и не погу понять почему ...


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

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

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