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

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

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

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

Буду очень признателен за помощь.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2013, 03:56
Ответы с готовыми решениями:

Удалить отрицательные элементы
Дана последовательность из n целых элементов. Удалить из нее все отрицательные элементы , затем...

Удалить из массива отрицательные элементы
Помогите пожалуйста, сломал голову, надо удалить из массива все отрицательные элементы,...

Удалить отрицательные элементы массива
Дан массив, найти максимальный, минимальный элементы и их индексы. Удалить отрицательные элементы...

Удалить из файла отрицательные элементы
Дан файл целых чисел.Удалить из него отрицательные элементы собственно делаю 2мя...

Печать однонаправленного списка
Здравствуйте. Помогите пожалуйста вывести на монитор однонаправленный список с конца. #include...

1
anmartex
...
1733 / 1217 / 917
Регистрация: 12.02.2013
Сообщений: 1,997
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2013, 14:58

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

Удалить отрицательные элементы массива. Программа почему-то только частично работает
Надо удалить все отрицательные элементы, расположенные до первого минимального. У меня почему-то...

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


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

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

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