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

Удалить из списка s все элементы больше k - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифрование XOR не кодирует бинарные данные http://www.cyberforum.ru/cpp-beginners/thread1162095.html
Текст кодирует/декодирует нормально.Бинарные файлы НЕТ. char tst="fnfdnbdlfkbpfdgkgfdm"; wchar_t in=L"F:\\test\\1.exe"; wchar_t out=L"F:\\test\\2.exe"; void XOR_Crypt(char *out, char *in, long InLen, char *pass, long PassLen) { for (long x=0; x<InLen; ++x) { out += (char)(in^pass);
C++ Написать программу с использованием структуры "Студент" Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие в первую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности ... http://www.cyberforum.ru/cpp-beginners/thread1162080.html
C++ Написать программу для вычисления факториала
Помогите! заранее спасибо!
Метод loadstack класса stack, который возвращает стек заполненный буквами C++
Используя класс stack, напишите функцию loadstack(), которая бы возвращала стек, заполненный буквами алфавита (a-z). В вызывающей программе присвойте этот стек другому объекту и докажите, что и в этом объекте находится алфавит. (Замечание. Удостоверьтесь, что длина стека достаточна для хранения алфавита.) Проверте ошибки. Что-то не выходит st не правильно заранее Спасибо! #include <iostream>...
C++ Почему во время чтения из файла переменная row_i в цикле постоянно обнуляется? http://www.cyberforum.ru/cpp-beginners/thread1162043.html
Имеется следующий код: #include <iostream> #include <fstream> using namespace std; int main () { char row;
C++ Удаление записи из бинарного файла Добрый вечер! У меня проблема не могу удалить из структуры. Добавление и считывание из бинарного файла я сделал. Удаление не получаеться. Как я понял необходимо открыть файл на запись, затем записать по новой всех кроме удаляемого. У меня получился бред. 2 часа искал информацию, так и не смог разобраться. подробнее

Показать сообщение отдельно
Vova_Sim
2 / 2 / 0
Регистрация: 07.11.2012
Сообщений: 50

Удалить из списка s все элементы больше k - C++

29.04.2014, 22:09. Просмотров 188. Ответов 0
Метки (Все метки)

Функция
C++
1
void odn(iter *, iter *);
выполняет "Из списков s1 и s2 удалить все элементы с одинаковым содержимым.". Помоги сделать так что бы она выполняла следующее "Удалить из списка s все элементы с значением содержимого, превышающим заданное число k."
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# include<iostream>
using namespace std;
class spisok
{
private:
    int x;
    spisok *prev;
    spisok *fr;
public:
    void first()
    {
        cout << "x = ";
        (cin >> x).get();
        fr = NULL;
        prev = NULL;
    }
    ~spisok()
    {
        cout << "Элемент был удален.\n";
    }
    void push(spisok *);//Функция вставки элемента
    void put_el(spisok *);//Просмотр доступного элемента
    void prov(spisok *);//Проверка наличия елементов
    void per(spisok *);//Функция перехода в начало списка
};
void spisok::push(spisok *P)
{
    while (P->prev != NULL)
        P = P->prev;
    int a;
    cout << "x = ";
    (cin >> a).get();
    while (a>P->x)
    {
        cout << "\nЭлемент введен неверно.";
        cout << "x = ";
        cin.clear();
        (cin >> a).get();
    }
    spisok *ST = new spisok;
    ST->x = a;
    P->prev = ST;
    ST->fr = P;
    ST->prev = NULL;
}
void spisok::put_el(spisok *P)
{
    cout << "Доступный элемент:\n";
    cout << "x = " << P->x << endl;
}
void spisok::prov(spisok *P)
{
    if (P->prev = NULL) cout << "\nСписок содержит 1 элемент";
    else cout << "Список содержит более одного элемента\n";
}
void spisok::per(spisok *P)
{
    P = P->fr;
}
class iter:public spisok
{
private:
    int x;
    iter *prev;
public:
    void sled(iter *);//Функция перехода к следующиму элементу
    void tek(iter *);//функция выдачи текущего адреса
    iter* del(iter *);//Функция удаления элемента
    void odn(iter *, iter *);
};
iter* iter::del(iter *P)
{
    iter *ST = P->prev;
    delete P;
    return ST;
}
void iter::sled(iter *P)
{
    P = P->prev;
}
void iter::tek(iter *P)
{
    cout << "Адрес текущего элемента:" << P<<endl;
}
void iter::odn(iter *P, iter *D)
{
    iter *P1, *D1, *S;
    P1 = P; D1 = D;
    while (P1->prev != NULL)
    {
        while (D1->prev != NULL)
        {
            if (P1->x = D1->x) 
            {
                S = P1;
                if (P1->prev != NULL)P1 = P1->prev;
                delete S;
                S = D1;
                if (D1->prev != NULL) D1 = D1->prev;
                delete S;
            }
            else if (P1->prev != NULL) P1 = P1->prev;
        }
        if (D1->prev != NULL) D1 = D1->prev;
    }
}
void main()
{
    setlocale(LC_ALL, "RUS");
    cout << "Ввод первого элемента.\n";
    iter *P = new iter;
    P->first();
    cout << "Для добавления элемента списка введите 1\n"
        "Для удаления элемента списка введите 2\n"
        "Для просмотра доступного элемента списка введите 3\n"
        "Для перехода к следующиму элементу введите 4\n"
        "Для выдачи текущего адреса введите 5\n"
        "Для проверки наличия элементов списка введите 6\n";
    int a;
    cout << "Ввод: ";
    (cin >> a).get();
    while (a != 0)
    {
        switch (a)
        {
        case 1:P->push(P); break;
        case 2:P=P->del(P); break;
        case 3:P->put_el(P); break;
        case 4:P->prov(P); break;
        case 5:P->tek(P); break;
        case 6:P->sled(P); break;
        default: break;
        }
        cout << "Ввод: ";
        (cin >> a).get();
    }
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru