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

Удалить из списка L за каждым вхождением элемента Е один элемент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив: произведение элементов массива, расположенных между первым и вторым нулевыми элементами. http://www.cyberforum.ru/cpp-beginners/thread560938.html
всем привет! помогите, пжл: в одномерном массиве, состоящем из n целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы,...
C++ Вычислить сумму с заданным числом членов привет! не поможете? http://www.cyberforum.ru/cpp-beginners/thread560936.html
Составить программу вычисления количества простых чисел, принадлежащих отрезку [m, n] C++
помогите пожалуйста решить задачу на С++ Составить программу вычисления количества простых чисел, принадлежащих отрезку . Для проверки, является ли число простым, использовать функцию prostoe. Функция возвращает 1, если число является простым, а 0 - в противном случае.
C++ Работа с переменными в массиве.
Пишу проект, застопорился на одном моменте: не могу понять, как можно работать с переменными в виде массива. У меня 81 переменная(каждая для своего поля IDC_EDIT), пытаюсь создать из них двумерный массив для последующего заполнения полей судоку. Но что-то вовсе не выходит, а без этого дальше идти нельзя. Прилагаю код моих "попыток". int ms = { {m_1, m_2, m_3, m_4, m_5, m_6, m_7, m_8,...
C++ Работа с файлами C++. Подсчёт строк. http://www.cyberforum.ru/cpp-beginners/thread560908.html
Здравствуйте. Есть функция для подсчёта строк в файле. Выглядит она следующим образом: int count_string(FILE *file) { char string; int j=0; while(feof(file)==0) { fgets(string,50,file);
C++ В чем ошибка? Считать из файла и преобразовать символы в их коды. Помогите пожалуйста, что не так у меня в коде. Необходимо считать из файла и преобразовать символы в их коды. #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; void main() { подробнее

Показать сообщение отдельно
Algiz
160 / 160 / 13
Регистрация: 23.02.2011
Сообщений: 347
28.04.2012, 19:12     Удалить из списка L за каждым вхождением элемента Е один элемент
1
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>
#define forn(a,i,b) for(int i=a; i<b; i++)
 
using namespace std;
 
struct Node
{
    int a;
    Node* next;
};
 
void add(Node *&list, int a)
{
    Node* tmp = new Node;
    tmp -> a = a;
    tmp -> next = list;
    list = tmp;
}
 
void printList(Node* n)
{
    if (n == 0)
        cout << "end\n";
    else
    {
        cout << n -> a << ", ";
        printList(n -> next);
    }
}
 
void mkList(Node *&n)
{
    int qty;
    cin >> qty;
    int tmp;
    forn(0,i,qty)
    {
        cin >> tmp;
        add(n,tmp);
    }
}
 
void delList(Node* n)
{
    if (n == 0)
        return;
    delList(n -> next);
    delete n;
}
 
void delOne(Node*&,int);
void delNext(Node *&n, int el)
{
    if (n == 0)
        return;
    if (n -> a == el)
        delNext(n -> next,el);
    Node* tmp = n -> next;
    delete n;
    n = tmp;
    delOne(n,el);
}
 
void delOne(Node *&n, int el)
{
    if (n == 0)
        return;
    if (el == n -> a)
        delNext(n -> next,el);
    else
        delOne(n -> next, el);
}
 
int main(int argc, char **argv)
{
    Node* l = 0;
    mkList(l);
    printList(l);
    int n;
    cin >> n;
    delOne(l,n);
    printList(l);
    delList(l);
    return 0;
}
Добавлено через 10 минут
2
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
#include <iostream>
#define forn(a,i,b) for(int i=a; i<b; i++)
 
using namespace std;
 
struct Node
{
    int a;
    Node* next;
};
 
void add(Node *&list, int a)
{
    Node* tmp = new Node;
    tmp -> a = a;
    tmp -> next = list;
    list = tmp;
}
 
void printList(Node* n)
{
    if (n == 0)
        cout << "end\n";
    else
    {
        cout << n -> a << ", ";
        printList(n -> next);
    }
}
 
void mkList(Node *&n)
{
    int qty;
    cin >> qty;
    int tmp;
    forn(0,i,qty)
    {
        cin >> tmp;
        add(n,tmp);
    }
}
 
void delList(Node* n)
{
    if (n == 0)
        return;
    delList(n -> next);
    delete n;
}
 
bool isAt(Node* n, int a)
{
    if (n == 0)
        return 0;
    return (n -> a == a)? 1: isAt(n -> next, a);
}
 
Node* mkRes(Node* l1, Node* l2)
{
    if (l1 == 0)
        return 0;
    if (isAt(l1 -> next, l1 -> a) || isAt(l2,l1 -> a))
        return mkRes(l1 -> next, l2);
    Node* tmp = new Node;
    tmp -> a = l1 -> a;
    tmp -> next = mkRes(l1 -> next, l2);
    return tmp;
}
 
int main(int argc, char **argv)
{
    Node* l1 = 0;
    Node* l2 = 0;
    mkList(l1);
    printList(l1);
    mkList(l2);
    printList(l2);
    Node* lres = mkRes(l1,l2);
    printList(lres);
    delList(l1);
    delList(l2);
    delList(lres);
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru