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

Вектор, дек, список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ c++ пара задачек http://www.cyberforum.ru/cpp-beginners/thread33505.html
1. В одномерном массиве, состоящим из n вещественных элементов(размерность задается именнованной константой), вычислить: - максимальный элемент массива - сумму элементов массива, расположенных до последнего положительного элемента Сжать массив, удалив из него все элементы, модуль которых находится в интервале . Освободившиеся в конце массива элементы заполнить нулями. 2. Дана целочисленная...
C++ Макросы условного компилирования С++ Помогите пожалуйста студенту. Кто шарит по теме макросов. Немогу понять что с меня хотят. Помогите решить задачку(должно быть не сложно): Используя макросы условного компилирования и оператора define, проверить правильность установленых опций компилятора и вывести результативные сообщения. Буду очень благодарен за помощь. http://www.cyberforum.ru/cpp-beginners/thread33462.html
Сортировка списка распределением C++
(сортировка распределением) Упорядочить список Q двадцатибуквенных слов в алфавите П= {A,B,C} лексикографически ( т.е. так, как это принято в словарях) , используя следующий алгоритм : 1. Образуем 3 (сначало пустых) вспомогательных очереди Qa, Qb, Qc. Положим i=20. 2. Просматривая список Q , будем помещать очередное слово в очередь Qx , если i-ая буква слова равна x (x є П). 3. Сцепим очереди...
C++ чтение из файла, в котором на перенос строки отводится один символ
Здравствуйте. При обработке файлов результатов неких измерений наткнулся на такую проблему: На перенос строки отводится один байт, как в *nix-системах, а не два байта, - как в маздае. пишу я как раз под маздаем. Использую ifstream для чтения из файла. Есть причины, по которым использовать С-шный доступ к файлам мне не выгодно. Вызов tellg для потока выдаёт значение (положение в файле),...
C++ Програма с .тхт файлом http://www.cyberforum.ru/cpp-beginners/thread33219.html
вот код #include <windows.h> #include <stdio.h> #include <conio.h> FILE *f; typedef struct tagINFO {
C++ Задача о совпадении дней рождения Пожалуйста, кто-нибудь помагите решить задачу, очень надо для дипломной работы! Заранее всех благодарю за помощь!!!:) Задача состоит в том, что бы найти вероятность совпадения хотя бы 2-х дней рождений в группе студентов из 25 человек. Модель задачи заключается в следующем необходимо присвоить какому-нибудь счетчику 0, для дальнейшего сохранения в неё результатов опыта. Вызывать функцию для... подробнее

Показать сообщение отдельно
Sender Ghost
8 / 8 / 1
Регистрация: 17.05.2008
Сообщений: 12
13.05.2009, 01:04     Вектор, дек, список
Здравствуйте. Ответы в комментариях.
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
#include <iostream>
#include <conio.h>
#include <list>
 
using namespace std;
 
int main()
{
    list<int> sl;
    list<float> sllist;
    int action,
        element, left, right;
 
    cout << "1.Vektor" << endl;
    cout << "2.Dek" << endl;
    cout << "3.Spisok" << endl;
    cin >> action;
    
    if (action == 3)
        do
        {
            cout << "1. Vstavka elementa" << endl;
            cout << "2. Sodergimoe" << endl;
            cout << "3. Udalenie" << endl;
            cin >> action;
            
            switch (action)
            {
                case 1: {
                    cout << "Vvedite element" << endl;
                    cin >> element;
                    cout << "Wyberite, kuda wstawljat': 1 -  w nachalo. ";
                    cin >> action;
 
                    if (action == 1)
                        sl.push_back(element);
                } break;
                case 2: {
                    cout << "SODERGIMOE" << endl;
 
                    list<int>::iterator k = sl.begin();
 
                    while (k != sl.end())
                    {
                        cout << *k << endl;
                        k++;
                    }
                } break;
                case 3: {
                    int size = sl.size();
 
                    if (size == 0) { action = 1; break; }
 
                    cout << "Wwedite left granizu udalenija: " << endl;
                    cin >> left;
                    cout << "Wwedite prawuju granizu udalenija: " << endl;
                    cin >> right;
                    
                    if (left > right) // Меняем границы местами
                    {
                        int tmp = left;
                        left = right;
                        right = tmp;
                    }
                    else if (left == right) // Нет интервала [left, right)
                    {
                        action = 1; break;
                    }
 
                    if (left > size) left = size;
                    else if (left < 0) left = 0;
 
                    if (right > size) right = size;
                    else if (right < 0) right = 0;
                    
                    list<int>::iterator l, r;   l = r = sl.begin();
 
                    advance(l, left);  // перемещение позиции итераторов на left
                    advance(r, right); // и right шагов.
 
                    sl.erase(l, r);
 
                    system("CLS");
                } break;
            }
        }
        while (action != 3); // Почему не "4. Exit"?
 
    return 0;
}
 
Текущее время: 16:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru