Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Список фамилий. Упорядочить их по алфавиту https://www.cyberforum.ru/ c-beginners/ thread1133839.html
Заданный список фамилий. Упорядочить их по алфавиту. Проверить написания первой большой буквы ПОМОГИТЕ , НИЧЕГО НЕ ВЫХОДИТ (
C (СИ) Удаление Node из Linked List
Всем привет, нужно написать функцию удаляющую обьект из Linked List. подпись функции: int remove(llist *list, node* item) функция должна вернуть 0 если удалила или -1 если что то пошло не...
C (СИ) В символьной строке удалить все слова, начинающиеся и заканчивающиеся на одну и ту же букву
Люди помогите написать программу на языке C(Cu), в символьной строке удалить все слова, начинающиеся и заканчивающиеся на одну и ту же букву.
C (СИ) Снегопад в окне Нужно написать код, чтобы в появившемся окне падал снег. Заранее спасибо. https://www.cyberforum.ru/ c-beginners/ thread1133782.html
C (СИ) Удалить из строки все гласные буквы https://www.cyberforum.ru/ c-beginners/ thread1133716.html
#include <stdio.h> #include <conio.h> #include <iostream> #include <string.h> void main() { setlocale(0,""); int l,i,k,m; char s; printf("\n введите строку транслитом не...
C (СИ) Сравнить первые десять символов двух строк
Ввести строки. Сравнить первые десять символов двух строк. Если они одинаковы, объединить две строки, исключив из второй первые десять символов. В случае отличия первых десяти символов скопировать...
C (СИ) Посчитать сколько слов, содержит текст произвольной длинны
Посчитать сколько слов, содержит текст произвольной длинны. Разделителем между словами является символ пробела. Вывести на экран список всех встречающихся в тексте слов и их количество. Указание:...
C (СИ) Какие курсы, тренинги, семинары, книги и прочее Вы бы могли рекомендовать? Здравствуйте, дорогие друзья!:) Хочу изучить язык программирования C++ Раньше никогда не сталкивался с языками программирования. Поведайте мне пожалуйста: С чего начать? Какие курсы, тренинги,... https://www.cyberforum.ru/ c-beginners/ thread1133599.html
C (СИ) Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом https://www.cyberforum.ru/ c-beginners/ thread1133580.html
Элементы матрицы заполнить, используя функцию генератора случайных чисел. Программу написать двумя способами: 1) осуществляя доступ к элементам матрицы с помощью индексов; 2) осуществляя доступ...
C (СИ) Преобразовать массив, прибавив к четным числам последний элемент Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам последний элемент. Последний элемент массива не изменять. Осуществить сдвиг влево на k позиций, где k – число нечетных... https://www.cyberforum.ru/ c-beginners/ thread1133573.html
...
1799 / 1264 / 934
Регистрация: 12.02.2013
Сообщений: 2,058
30.03.2014, 19:03 0

Связный список. Необходимо создать новый связный список только из положительных элементов

30.03.2014, 19:03. Просмотров 1193. Ответов 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
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
 
typedef struct node_t {
    int value;
    struct node_t* next;
}   TList;
 
//-----------------------------------------------------------------------------
void Push(TList** list, int value) {
    TList* node = malloc(sizeof(TList));
    node->value = value;
    node->next = *list;
    *list = node;
}
//-----------------------------------------------------------------------------
void Write(FILE* f, const TList* list) {
    for (; list; list = list->next) {
        fprintf(f, "%d ", list->value);
    }
}
//-----------------------------------------------------------------------------
TList* Read(FILE* f) {
    TList* list = NULL;
    int value;
 
    while (fscanf(f, "%d", &value) == 1) {
        Push(&list, value);
    }
 
    return list;
}
//-----------------------------------------------------------------------------
TList* OnlyPositive(const TList* list) {
    TList* newList = NULL;
 
    for (; list; list = list->next) {
        if (0 <= list->value) {
            Push(&newList, list->value);
        }
    }
 
    return newList;
}
//-----------------------------------------------------------------------------
 
int main() {
    TList* all, * positive;
    FILE* fin, * fout;
 
    assert((fin = fopen("input.txt", "r")) != NULL);
    assert((fout = fopen("output.txt", "w")) != NULL);
 
    all = Read(fin);
    positive = OnlyPositive(all);
 
    Write(stdout, positive);
    Write(fout, positive);
 
    return 0;
}


Вернуться к обсуждению:
Связный список. Необходимо создать новый связный список только из положительных элементов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2014, 19:03
Готовые ответы и решения:

Связный список (Используя структуру описания даты, построить связный список студентов, сформированный в алфавитном порядке)
Здраствуйте! Помогите пожалуйста найти косяк. Выводится только первая строчка из списка студентов....

Связанный список. Создать, записать в связный список последовательность слов,обозначающих месяцы года,заданных пользователем
Создать связанный список.Кроме информационных полей он должен обязательно содержать указатели на...

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

Создать связный список
только начала изучать java. это моя первая попытка написать что-то. не работает метод add. я уже...

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