0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 6
1

Построить линейный список из входной последовательности чисел. Удалить из него все отрицательные числа

04.06.2019, 19:51. Показов 3144. Ответов 1
Метки нет (Все метки)

Выполнить задание, используя односвязные списки
Построить линейный список из входной последовательности чисел. Удалить из него все отрицательные числа.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2019, 19:51
Ответы с готовыми решениями:

Построить линейный список из входной последовательности чисел. Удалить из него все отрицательные числа
Построить линейный список из входной последовательности чисел. Удалить из него все отрицательные...

Построить линейный список из входной последовательности чисел. Перестроить его так, чтобы сначала стояли все четные числ
Построить линейный список из входной последовательности чисел. Перестроить его так, чтобы сначала...

Построить линейный список из входной последовательности чисел
Уважаемые программисты, помогите, пожалуйста, с кодом. Поиском эту задачу нашла только на С++, а...

Построить линейный список из входной последовательности чисел
Подскажите, как правильно решить данную задачу: построить линейный список из входной...

1
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
24.06.2019, 23:16 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
/*
Построить односвязный линейный список из входной последовательности чисел. 
Удалить из него все отрицательные числа. 
*/
 
#include <iostream>
 
    using namespace std;
 
struct node {
    int data;
    node* next;
};
 
node* head = NULL;
 
void add(int data) {
    node* temp = new node;
    temp->data = data;
    temp->next = NULL;
    if (head == NULL) {
        head = temp;
    } else {
        node* ptr = head;
        while (ptr-> next != NULL) {
            ptr = ptr->next;
        }
        ptr->next = temp;
    }
}
 
node* del_all_negative() {
    node* curr = new node;
    node* prev = new node;
    node* temp = new node;
    prev = NULL;
    curr = head;
    while (curr != NULL) {
        if (curr->data < 0) {
            if (prev != NULL) {
                prev->next = curr->next;
            } else {
                head = curr->next;
            }
            temp = curr;
            curr = curr->next;
            delete temp;
        } else {
            prev = curr;
            curr = curr->next;
        }
    }
    return head;
}
 
void print() {
    node* temp = head;
    while (temp != NULL) {
        cout << temp->data << " ";
        temp = temp->next;
    }
}
 
int main() {
    int n, val;
    cout << "Enter a number of elements:\n";
    cout << "n = ";
    cin >> n;
    cout << "Enter some elements:\n";
    for (int i = 1; i <= n; i++) {
        cin >> val;
        add(val);
    }
    cout << "\nOutput of the program:\n";
    head = del_all_negative();
    print();
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2019, 23:16
Помогаю со студенческими работами здесь

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

Создать односвязный список из последовательности чисел, удалить из него все простые числа
Прошу помощи, не могу понять в чем ошибка, надо создать односвязный список из последовательности...

Кольцевой односвязный список, удалить из него все отрицательные числа
Здравствуйте, необходимо решить проблему в задаче: &quot;Сформулируйте кольцевой список с вещественным...

Исправить код линейный список из входной последовательности чисел
Буду благодарен, за помощь. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #define...

Линейный список из входной последовательности чисел с помощью ArrayList и List
Подскажите, как построить линейный список из входной последовательности чисел с помощью ArrayList и...

Создать односвязный список целых чисел. Удалить из него все отрицательные элементы
Доброго времени суток! Помогите пожалуйста с задачей. Заранее большое спасибо!! Создать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru