Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
1

Удалить из однонаправленного списка отрицательные элементы

26.11.2013, 03:56. Просмотров 1332. Ответов 1
Метки нет (Все метки)

Создать список из случайных положительных и отрицательных целых чисел (от –10 до 10) и удалить из него отрицательные элементы.

Буду очень признателен за помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2013, 03:56
Ответы с готовыми решениями:

Удалить из списка все отрицательные элементы
Добрый день, получилось создать список, но не получается сделать удаления. То есть по условию мне...

Из однонаправленного списка удалить четные элементы
Ребят помогите вообще не понимаю списки, сегодня экзамен, вот условие Из однонаправленного списка...

Из однонаправленного списка удалить четные элементы
Создать линейный однонаправленный список из вещественных чисел. Удалить из списка первый четный...

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

1
...
1791 / 1259 / 931
Регистрация: 12.02.2013
Сообщений: 2,058
26.11.2013, 14:58 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
85
86
87
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
typedef struct _TNode
{
    int value;
    struct _TNode* next;
}   TNode;
 
//-----------------------------------------------------------------------------
TNode* Push(TNode** list, int value)
{
    TNode* node = malloc(sizeof(TNode));
    node->value = value;
    node->next = *list;
 
    *list = node;
 
    return *list;
}
//-----------------------------------------------------------------------------
int Pop(TNode** list)
{
    TNode* node = *list;
    int value = node->value;
    *list = node->next;
 
    free(node);
 
    return value;
}
//-----------------------------------------------------------------------------
int IsNegative(int value)
{
    return (value < 0);
}
//-----------------------------------------------------------------------------
TNode* Remove(TNode** list, int (*Func)(int))
{
    TNode** node = list;
 
    while (*node)
    {
        if (Func((*node)->value))
        {
            Pop(node);
        }
        else
        {
            node = &(*node)->next;
        }
    }
 
    return *list;
}
//-----------------------------------------------------------------------------
void Print(const TNode* list)
{
    for (; list; list = list->next)
    {
        printf("%d ", list->value);
    }
    printf("\n");
}
//-----------------------------------------------------------------------------
 
int main()
{
    TNode* list = NULL;
    unsigned i = 10;
 
    srand(time(NULL));
 
    while (i--)
    {
        Push(&list, rand() % 20 - 10);
    }
 
    Print(list);
 
    Remove(&list, IsNegative);
 
    Print(list);
 
    return 0;
}
Удалить из однонаправленного списка отрицательные элементы


Результат на codepad.org
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2013, 14:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Удалить отрицательные элементы из списка
Помогите,пожалуйста! Нужно написать программу с использованием стандартных функций (cdr,car...) У...

Удалить из списка все отрицательные элементы
Реализация динамических структур Написать программу, которая удаляет из списка L все...

Удалить из списка все отрицательные элементы
Дан список А, состоящий из записей: первое поле – вещественное число, второе – адрес следующего...

Удалить из списка все отрицательные элементы
Дан список А, состоящий из записей: первое поле – вещественное число, второе – адрес следующего...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.