Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2018, 19:01   #1
Yoooy
Пользователь
 
Регистрация: 20.10.2018
Сообщений: 13
По умолчанию Переставить все положительные элементы списка

[C][Cи]Написать программу, которая из последовательность целых чисел формирует односвязный список. Длина последовательности может быть произвольной. В списке осуществить следующее преобразование:
Переставить все положительные элементы списка в новый список в порядке убывания
Вот создал список, а как засунуть положительные эл. в порядке возрастания в новый не знаю.Помогите с задачей пожалуйста
Код:
typedef struct List
{
    int info;
    struct List* next;
} List;
 
List *First, *Last;//указатель на первый и последний элемент
 
// добавление элемента в список
void push(int inf)
{
    struct List* el;
 
    // выделение памяти
    el = (struct List*)malloc(sizeof(struct List));
    if (el == NULL)
    {
        printf("Не удалось выделить память под элемент списка.\n");
        return;
    }
 
    el->info = inf;
    el->next = NULL;
 
    if (First == NULL)
        First = Last = el;
    else
    {
        Last->next = el;
        Last = Last->next;
    }
}
int main(void)
{
    int inf, sum;
    List *el, *tmp;
    
 
    setlocale(LC_ALL, "Russian");
    First = Last = NULL;
 
    //заполнение списка
    printf("Введите элементы списка (окончание ввода-любой символ, кроме цифры):\n");
    while (scanf_s("%d", &inf) != 0) {
        push(inf);
        
    }
    
 
    // освобождение памяти
    for (el = First; el != NULL;)
    {
        tmp = el;
        el = el->next;
        free(tmp);
    }
 
    return 0;
}
Yoooy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из списка удалить положительные элементы Filkent Общие вопросы C/C++ 1 01.03.2017 10:47
Преобразовать массив так,что бы с начала располагались все положительные элементы, а потом все остальные kola1010 Паскаль, Turbo Pascal, PascalABC.NET 2 29.11.2016 09:33
Дан числовой массив А, состоящий из n целых чисел . Если все элементы массива являютя чётными, то увеличьте положительные элементы Pantiks Паскаль, Turbo Pascal, PascalABC.NET 1 24.10.2013 16:59
В заданном массиве C(8) переставить элементы так щеб сначала шли все отрицатильние а затем положительные. basav1k Помощь студентам 2 26.05.2010 21:10
в начале все отрицательные, затем все положительные элементы в матрице motaro Паскаль, Turbo Pascal, PascalABC.NET 2 07.03.2008 19:16