Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Список фамилий. Упорядочить их по алфавиту http://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 (СИ) Снегопад в окне Нужно написать код, чтобы в появившемся окне падал снег. Заранее спасибо. http://www.cyberforum.ru/c-beginners/thread1133782.html
C (СИ) Удалить из строки все гласные буквы http://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++ Раньше никогда не сталкивался с языками программирования. Поведайте мне пожалуйста: С чего начать? Какие курсы, тренинги,... http://www.cyberforum.ru/c-beginners/thread1133599.html
C (СИ) Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом http://www.cyberforum.ru/c-beginners/thread1133580.html
Элементы матрицы заполнить, используя функцию генератора случайных чисел. Программу написать двумя способами: 1) осуществляя доступ к элементам матрицы с помощью индексов; 2) осуществляя доступ...
C (СИ) Преобразовать массив, прибавив к четным числам последний элемент Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам последний элемент. Последний элемент массива не изменять. Осуществить сдвиг влево на k позиций, где k – число нечетных... http://www.cyberforum.ru/c-beginners/thread1133573.html
anmartex
...
1788 / 1256 / 931
Регистрация: 12.02.2013
Сообщений: 2,056
30.03.2014, 19:03 0

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

30.03.2014, 19:03. Просмотров 951. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2014, 19:03
Готовые ответы и решения:

Написать функцию, которая добавляет новый элемент в связный список
Доброго времени суток, продолжаю изучать самостоятельно Си по книге Кочана Стефана &quot;Язык...

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

Инициализация, добавление и удаление элементов в СТЕКЕ через связный список
День добрый, нужна помощь со стеками. Передо мною стоит задача: 1) Инициализировать СТЕК через...

Запись в связный список из файла
Описание списков: typedef struct name { char first_name; char last_name; int...

Связный список, объясните ошибки
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt; string.h &gt; #include &lt;assert.h&gt; typedef...

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