Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89

Обработка элементов односвязного списка

17.12.2020, 15:27. Показов 3500. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Помогите пожалуйста с заданием.
Реализовать работу следующих функций по обработке элементов односвязного списка используя стандартную библиотеку классов STL:
1. создание динамического списка;
2. вывод списка на экран
3. поиск элемента по значению (возвратить номер);
4. добавление элемента;
5. подсчет количества элементов в списке
6. анализируя список, сформировать стеки: а) букв; б) цифр

Как создать список цифр и выполнить над ним все действия, я знаю. Не понимаю как сделать именнно список букв и цифр, и разделить их на стеки
Прошу, помогите пожалуйста

Добавлено через 1 час 56 минут
Вот как я создала список просто цифр, как сюда еще буквы добавить?
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <Windows.h>
using namespace std;
template <typename T> void vType(T v) {
    int n = v.size();
    cout << endl;
    for (int i = 0; i < n; i++) cout << v[i] << " ";
}
bool myfunction(int i, int j) { return (i < j); }
int main(void) {
    vector <int> v;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int u, b;
    cout << "Размер массива: ";
    cin >> b;
    cout << "\nВведите элементы: ";
    for (int i = 0; i < b; i++)
    {
        cin >> u;
        v.push_back(u);
    }
    cout << "\nCписок: ";
    vType(v);
    vector<int>::iterator it;
    int iy;
    cout << "\nВведите элемент для поиска: ";
    cin >> iy;
    vector<int> yi = { iy };
    it = search(v.begin(), v.end(), yi.begin(), yi.end());
    if (it != v.end())
        cout << "\nЭлемент в векторе на позиции: " << (it - v.begin()) << '\n';
    else
        cout << "\nЭлемент не найден";
    vector<int>::iterator p = v.begin();
    int oi;
    cout << "\nЭлемент добавить в векторе на позицию: ";
    cin >> oi;
    p += oi;
    cout << "\nЭлемент для добавления: ";
    cin >> iy;
    v.insert(p, 1, iy);
    cout << "\nИзмененный список: ";
    vType(v);
    b++;
    p = v.begin();
    int kolvo;
    kolvo = v.size();
    cout << "\nКоличество элементов в списке: " << kolvo;
    v.clear();
    cin.sync(); cin.get(); return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2020, 15:27
Ответы с готовыми решениями:

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

Перемещение элементов односвязного списка
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main() { struct node { int inf; node*next; }; printf (&quot;Vvedite chislo...

Удаление нескольких элементов из односвязного списка
Всем привет! Собственно, сабж: есть односвязный список с повторяющимися элементами. Мне надо удалить определенные элементы. Есть...

13
Заблокирован
17.12.2020, 20:26
В задании написано
Цитата Сообщение от Лена Есеева Посмотреть сообщение
Обработка элементов односвязного списка
что значит что работаем с forward_list.
И для работы с ним выполнить пункты 1-6.
Нет ?

Например :
1. Создание динамического списка;

C++
1
2
3
template<class T> shared_ptr<forward_list<T>> createFList(){
   return make_shared<forward_list<T>>();
}
0
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
17.12.2020, 20:33  [ТС]
Значит я и это неправильно сделала? Как по другому сделать не совсем понимаю, помогите пожалуйста
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.12.2020, 20:44
Цитата Сообщение от Лена Есеева Посмотреть сообщение
Реализовать работу следующих функций по обработке элементов односвязного списка используя стандартную библиотеку классов STL:
1. создание динамического списка;
Цитата Сообщение от Лена Есеева Посмотреть сообщение
Вот как я создала список просто цифр, как сюда еще буквы добавить?
Ты не список создала, а массив
Цитата Сообщение от Лена Есеева Посмотреть сообщение
vector <int> v;
Надо, в твоём случае, std::forward_list<int> v
0
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
17.12.2020, 20:50
Лена Есеева, про forward_list
и ещё про forward_list
то же самое но на русском

Добавлено через 3 минуты
есть ещё майкрософтовский MSDN
0
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
17.12.2020, 22:05  [ТС]
oleg-m1973, я попробую forward_list сделать, но все равно не могу понять как разделить потом на стеки букв и цифр, и как в принципе создать список цифр и букв((
подскажите пожалуйста хоть на примере массива
0
Заблокирован
17.12.2020, 22:51
Лена Есеева, вот я 6 задание тоже не понял

а вот 1-5 , хотя мб я перемудрил, но так как не указано типа списков, то я сделал функции шаблонными

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
#include <iostream>
#include <forward_list>
#include <algorithm>
#include <iterator>
#include <memory>
#include <stack>
#include <string>
 
using std::cout; using std::cin; using std::endl;
using std::string;
 
// 1. Создание динамического односвязного списка (далее Список)
template<class T, class... Args> std::shared_ptr<std::forward_list<T>> createList(Args&&... args){
   return std::make_shared<std::forward_list<T>>(std::forward<Args>(args)...);
};
 
// 2. вывесим список на экран
template<class List> void printList(List & list){
   copy(list.begin(), list.end(), std::ostream_iterator<typename List::value_type>(cout," "));
};
 
// 3. Поиск элемента по значению
template<class List, class T> typename List::iterator findValue(List &list, const T &val){
     return find(list.begin(), list.end(), val) ;
};
 
//4. Добавление элемента
template<class List, class T> void AddToTail(List &list, const T &val){
    if (list.empty())
    {
        list.push_front(val);
        return;
    }
    typename List::iterator it = list.begin();
    typename List::iterator prev_it(it);
 
    while(it!=list.end())
    {
        prev_it = it;
        ++it;
    }
    list.insert_after(prev_it, val);
};
 
 
// 5. Подсчет количества элементов в списке
template<class List> typename List::size_type sizeList(const List &list){
    typename List::size_type size=0;
    typename List::const_iterator it(list.begin());
    typename List::const_iterator it_end(list.end());
    while(it != it_end)
    {
        ++it;
        ++size;
    }
    return size;
};
 
//6 Анализируя список, сформировать стеки: а) букв; б) цифр
 
 
int main()
{
    auto fl_i = createList<int>(10, 5);
    printList(*fl_i);
    cout<<endl;
    auto fl_s = createList<string>();
    fl_s->push_front("1a");
    fl_s->push_front("2b");
    fl_s->push_front("3c");
    printList(*fl_s);
    cout<<endl;
    cout<<"Elements in List : "<<sizeList(*fl_s)<<endl;
    AddToTail(*fl_s, "0");
    cout<<"\"0\" is added to the list"<<endl;
    cout<<endl;
    printList(*fl_s);
    cout<<endl;
    string test = "0";
    if (findValue(*fl_s, test)!=fl_s->end())
        cout<<"Value \""<<test<<"\" present in the list"<<endl;
    else
        cout<<"Value \""<<test<<"\" misiing in the list"<<endl;
    return 0;
}
кто разбирается в шаблонах , пробежитесь, поправьте, еще толком шаблоны не изучал, так, по базовому курсу...

Добавлено через 8 минут
поправил функцию добавления элемента при пустом списке
1
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
18.12.2020, 09:43
SmallEvil, ваш код конечно крут (на первый взгляд), но (просто высказываю своё никому не нужное мнение) слишком переусложнён, проще надо быть, в задании же написано:
Цитата Сообщение от Лена Есеева Посмотреть сообщение
используя стандартную библиотеку классов STL
то есть практически всё, что вы реализовали сами (за исключением разве что вывода на экран) - есть у стандартного стл-ного односвязного списка. Так зачем изобретать велосипед?

вот тут ссылка на книгу где если не всё, то очень и очень многое про STL описано с примерами
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
18.12.2020, 10:31
Цитата Сообщение от Лена Есеева Посмотреть сообщение
oleg-m1973, я попробую forward_list сделать, но все равно не могу понять как разделить потом на стеки букв и цифр, и как в принципе создать список цифр и букв((
подскажите пожалуйста хоть на примере массива
Насколько я понял, тебе нужно сначала создать массив список слов std::forward_list<std::string>, потом пробежаться по этому списку и те слова, которые состоят только из цифр, перобразовать в число и занести в std::forward_list<int>, остальные - скопировать в другой std::forward_list<std::string>. Это и будут стеки букв и цифр.
Либо же - пробежаться по каждому слову в первом списке и буквы занести в std::forward_list<char>, а цифры - в std::forward_list<int>.
Задание не очень понятное.

Добавлено через 2 минуты
Цитата Сообщение от SmallEvil Посмотреть сообщение
// 1. Создание динамического односвязного списка (далее Список)
template<class T, class... Args> std::shared_ptr<std::forward_list<T>> createList(Args&&... args){
   return std::make_shared<std::forward_list<T>>(s td::forward<Args>(args)...);
};
Список, он сам по себе динамический, не надо его пытаться сделать ещё более динамическим. Тем более при помощи shared_ptr (хоть бы unique_ptr использовал)
1
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
18.12.2020, 11:45
Лена Есеева, примеры работы со списком:
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
#include <iostream>
#include <vector>
 
#include <list>
 
 
using namespace std;
 
template<typename T> 
void PrintList(const list<T>& lst)
{
    for (auto i = lst.cbegin(); i != lst.cend(); ++i)
    {
        cout << *i << endl;
    }
}
 
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    list<int> myList = { 99,15,64,99,979,54,99,99,99 };
 
    //myList.push_back(5);   // добавить элемент в конец списка
    //myList.push_front(151);   // добавить элемент в начало списка
 
    list<int>::iterator it = myList.begin();
 
    //auto it = myList.begin();  // так можно сэкономить время
 
    //cout << *it << endl;
 
    /*for (auto i = myList.cbegin(); i != myList.cend(); i++)
    {
        cout << *i << endl;
    }*/
 
    PrintList(myList);
 
    //myList.sort();  //сортировка списка
 
    //cout << "\n pop_back() \n";
    //myList.pop_back();   // удаляет последний элемент списка
 
    //cout << "\n pop_front() \n";
    //myList.pop_front();  // удаляет первый элемент списка
 
    //cout << endl << "Size  " << myList.size() << "\n";   // число элементов в списке
 
    //cout << "\n\n";
 
    //myList.unique();   // удаляет дубликаты из списка которые идут последовательно
 
    //myList.reverse();      // "реверсирует" положение элементов 
 
    //myList.clear();       // чистим лист от элементов
                
    auto in = myList.begin();
 
    //++in; 
       
    //advance(in, 3);               // сдвигает итератор на нужное кол-во позиций, первый параметр - итератор
                                  // второй вставляемый элемент
 
    //myList.insert(in, 111);      // вставка элемента в лист - первый параметр указатель на место которого
                                // мы должны вставить наш элемент, второй параметр - сам элемент   
    
    //myList.erase(in);       // принимает итератор на тот элемент, который мы хотим удалить   
 
    //myList.remove(99);    // работает не с итератором а с конкретным числом, которое надо удалить
 
    //myList.assign(3, 1651651);   // заполняет лист элементами, предыдущие удаляет
                                // первый параметр - кол-во элементов, второй значение
 
    list<int> myList2 = { 19,66,44,22 };
 
    myList.assign(myList2.begin(), myList2.end());   // копируем элементы из myList2 в myList
 
    cout << endl << "до / после" << endl << endl;
 
    PrintList(myList);
        
    return 0;
}
и форвард списком:
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
#include <iostream>
#include <forward_list>
 
 
using namespace std;
 
 
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    forward_list<int> fl = { 131,94,494 };
 
    //forward_list<int> fl2 = { 1310,940,4940 };
 
    //fl.push_front(1);   // добавить элемент в начало односвязного списка
    //fl.push_front(4);   // добавить элемент в начало односвязного списка
    
    //forward_list<int>::iterator it = fl.begin();
 
    //it++;    // двигать итератор вправо можно
    //it--;    // влево нельзя
 
    //initializer_list<int> in = { 1,2,3,4,5 };
 
    //fl.assign(in);      // присваивает элементы in затирает существующие
 
    //fl.assign(fl2.begin(), fl2.end());    // присваивает элементы fl2 затирает существующие
 
    //fl.assign(3, 5);      //затирает существующие элементы добавляет три пятёрки
 
    //fl.insert_after(it, 9999);   // добавить элемент после того, на который указывает it
 
    //fl.erase_after(it);        // удаляет элемент следующий после it
 
    forward_list<int>::iterator it = fl.before_begin(); //указывает на область в памяти перед первым элементом
    
    fl.insert_after(it, 9999);          // вставляем самым первым
 
    //cout << *it << endl;
        
 
    for (auto el : fl)
    {
        cout << el << endl;
    }
 
    return 0;
}
Почему опубликовал пример для просто списка? STL устроена так, что интерфейс для работы с контейнерами аналогичен для всех контейнеров. Наличие или отсутствие тех или иных методов определяется лишь самим контейнером (его внутренним устройством, которое в свою очередь исходит из требований, предъявляемых к конкретному контейнеру (ограничений и спецификаций))

Добавлено через 3 минуты
Цитата Сообщение от Лена Есеева Посмотреть сообщение
6. анализируя список, сформировать стеки: а) букв; б) цифр
можно, кстати, использовать STL - ый стек, передав в него тот же список. Может это надо сделать?
1
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
18.12.2020, 13:03  [ТС]
Я не поняла, нужно делать с <list> или с <forward_list>, или и так и так можно?
Я попыталась сделать с использованием <list>, до конца не уверена, что все правильно, но работает.
Насчет 6 задания, я нашла как что-то похожее реализовать с помощью стека (стр. 31-47), но программа не работает, из-за
того что при создании второго стека появляется ошибка "std::ostream &operator <<(std::ostream &,std::stack<char,std::deque<char,std::a llocator<char>>> &)" уже имеет текст реализации". Это и понятно, но как создать два стека? И еще ошибка в самом механизме разделения на стеки, уже не знаю почему. Помогите пожалуйста подкорректировать код.
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
#include <iostream>
#include <list>
#include <stack>
using namespace std;
ostream& operator<<(ostream& os, const list<char>& lst)
{
    for (char elem : lst)
    {
        os << elem << " ";
    }
    return os;
}
ostream& operator<<(ostream& os, stack<char>& stk1)
{
        while (!stk1.empty())
        {
        os << stk1.top() << " ";
        stk1.pop();
    }
    return os;
}
ostream& operator<<(ostream& os, stack<char>& stk2)
{
    while (!stk2.empty())
    {
        os << stk2.top() << " ";
        stk2.pop();
    }
    return os;
}
void moveElements(stack<char>& stk1, stack<char>& stk2, list<char>& lst)
{
    std::list<char>::iterator it = lst.begin();
    for (; it != lst.end(); it++)
    {
        if ((*it) >= '0' && (*it) <= '9')
        {
            stk1.push(*it);
            lst.erase(it--);
        }
        else
        {
            stk2.push(*it);
            lst.erase(it--);
        }
    }
}
unsigned int getElementIndex(list<char>& lst, char val)
{
    unsigned int index = 0;
    for (char elem : lst)
    {
        if (elem == val)
        {
            return index;
        }
        index++;
    }
    return 0;
}
template <class T>
T enterVal()
{
    T val;
    do
    {
        cin >> val;
        if (cin.fail())
        {
            cin.clear();
            cin.ignore(numeric_limits<std::streamsize>::max(), '\n');
        }
        else
        {
            return val;
        }
    } while (true);
}
void enterAndAddElements(list<char>& lst)
{
    int b;
    cout << "SIZE: ";
    cin >> b;
    char enteredVal;
    cout << "\nEnter Elements: ";
    for (int i = 0; i < b; i++)
    {
        cin >> enteredVal;
        lst.push_back(enteredVal);
    }
}
int main()
{
    cout << "Enter values or another symbol if you want to end.\n";
    list<char> lst;
    enterAndAddElements(lst);
    cout << "\nOriginal list : " << lst;
    cout << "\nEnter value to search in list : ";
    double varToSearch = enterVal<char>();
    cout << "Element index is : " << getElementIndex(lst, varToSearch);
    cout << "\nEnter elements to add to list \n";
    enterAndAddElements(lst);
    cout << "Now list contains : " << lst;
    cout << "\nEnter index of element to delete : ";
    unsigned int removeIndex = enterVal<unsigned int>();
    lst.erase(next(lst.begin(), removeIndex));
    cout << "Now list is " << lst;
    cout << "\nList size is : " << lst.size();
    stack<char> stk1;
    stack<char> stk2;
    moveElements(stk1, stk2, lst);
    cout << "\nMoving elements\n";
    cout << "\nStack digits : " << stk1 << '\n';
    cout << "\nStack letters : " << stk2 << '\n';
    lst.erase(lst.begin(), lst.end());
    return 0;
}
0
18.12.2020, 16:25

Не по теме:




Цитата Сообщение от Recrut_rf Посмотреть сообщение
то есть практически всё, что вы реализовали сами (за исключением разве что вывода на экран) - есть у стандартного стл-ного односвязного списка. Так зачем изобретать велосипед?
Абсолютно согласен, многие обучающие задачи в учреждениях имеют проблемы с логикой и практичностью.
А еще с точностью формулировки.
Цитата Сообщение от Recrut_rf Посмотреть сообщение
в задании же написано:
Цитата Сообщение от Лена Есеева Посмотреть сообщение
Реализовать работу следующих функций по обработке элементов односвязного списка
скорее всего для упрощения текста кода, и далеко не все есть в std::forward list, тот же размер, то же добавление в хвост списка )

Recrut_rf, за отзыв и за критику, спасибо
p.s. так и знал что перемудрил )

0
 Аватар для Recrut_rf
381 / 324 / 65
Регистрация: 14.10.2014
Сообщений: 1,377
19.12.2020, 00:00
Лена Есеева, решение

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
#include <iostream>
#include <forward_list>
#include <cstdlib>      //  для system()
#include <stack>        // для стэка 
  
 
using namespace std;
 
/*
"Реализовать работу следующих функций по обработке
элементов односвязного списка используя стандартную библиотеку классов STL"
из этой фразы делаем вывод что речь идёт о forward_list<>,
ну потому что это односвязный список
*/
 
void printStack(stack<char>);
 
 
int main()
{
    setlocale(LC_ALL, "rus"); // для поддержки кириллицы в консоле
 
    forward_list<char> fList;  // создание динамического списка, который будет хранить в себе символы char
    stack<char> stInt;  // стэк цифр
    stack<char> stChar;  // стэк букв
    
    char findSymbol;
    size_t index = 0;
 
    while (true)
    {
        char symbol;
        char ch;
        system("cls"); // очистка консоли 
        cout << "Добавить элемент в список? (1 - да, другой символ - нет)" << endl;
        cin >> ch;
        
        if (ch == '1')      
        {
            cout << "\nВведите символ для вставки в список: ";
            cin >> symbol;
            fList.push_front(symbol);  // добавить элемент в начало односвязного списка
        }
        else
            break;
        
        cout << endl;       
    }
 
    // вывод списка на экран
    for (auto el : fList)
    {
        cout << el << ' ';
    }
 
    
    // поиск элемента по значению (возвратить номер);
    cout << "\n Введите символ для поиска: ";
    cin >> findSymbol;
    
    //auto posBefore = fList.before_begin();  // однонаправленный итератор, установленный
                                            // на позицию, предшествующую первому элементу
 
    // функцию-член next() (для работы с итераторами) стала доступной в стандарте С++11
    // она перемещает итератор в следующую позицию 
    for (auto pos = fList.begin(); pos != fList.end(); ++pos/*, ++posBefore*/)
    {
        index++;
        if ((*pos) == findSymbol)
        {
            cout << "\nСимвол " << findSymbol << " найден на позиции " << index << endl;
            break;
        }
        if (pos == fList.end())
        {
            cout << "\nСимвол " << findSymbol << " в коллекции отсутствует " << endl;
            break;
        }
    }
           
 
    // подсчёт количества элементов в списке:  
    // distance возвращает расстояние между итераторами
    cout << "\nЭлементов в списке: " << distance(fList.begin(), fList.end()) << endl;
 
    // добавление элементов в стэк (актуально для кодировки ASCII)
    for (auto pos = fList.begin(); pos != fList.end(); ++pos)
    {       
        if ((*pos) >= 48 && (*pos) <= 57)
            stInt.push(*pos);
 
        if (((*pos) >= 65 && (*pos) <= 90) || ((*pos) >= 97 && (*pos) <= 122))
            stChar.push(*pos);      
    }
    
    cout << "\nнапечатаем элементы из стеков\n";
    printStack(stInt);
    cout << endl;
    printStack(stChar);
 
    system("pause");
    return 0;
}
 
void printStack(stack<char> st)
{
    while (!st.empty())
    {
        cout << st.top() << ' ';  // посмотрели данные 
        st.pop();                  // извлекли их из стека
    }
    cout << endl;
}
1
1 / 1 / 0
Регистрация: 21.03.2019
Сообщений: 89
20.12.2020, 16:49  [ТС]
Спасибо всем большое за помощь))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.12.2020, 16:49
Помогаю со студенческими работами здесь

Удаление элементов из односвязного списка (STL)
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, с контейнером forward_list&lt;int&gt; (именно с ним). Совсем запутался. Могу...

Функция: дублирование нечетных элементов односвязного списка
Доброй ночи, ребятки такая проблема, нужно создать функцию для дублирования нечетных элементов односвязного списка(после каждого нечетного...

Найти ошибку в удалении элементов из односвязного списка
Нужно удалить элемент из списка. Удаляю элемент не по позиции а по значению (задаю это значение). И вот в чем проблема, если например в...

Удаление повторяющихся элементов из односвязного списка forward_list
Есть односвязный список из 6 элементов, некоторые из которых повторяются. Удалить первый повторяющийся элемент и удалить его. Язык c++

Перенос (копирование) элементов из одного односвязного линейного списка в другой
Здравствуйте, у меня возникла проблема. Мне нужно скопировать определенные элементы из одного линейного списка в другой, но я не имею ни...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru