Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
magic666
0 / 0 / 0
Регистрация: 21.09.2014
Сообщений: 12
#1

Вывести на экран веденные списки - C (СИ)

19.10.2014, 23:35. Просмотров 327. Ответов 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
 int main()
{
 SLIST *lst1;           // адрес начала списка
 SLIST *lst2;
 lst1 = (SLIST*)malloc(sizeof(slist));
 lst2 = (SLIST*)malloc(sizeof(slist));
 init_slist(lst1);
 init_slist(lst2);
  int N,N2;
printf("\nINPUT SIZE OF THE SPISOK: ");
  scanf("%d",&N);       // ввод размера списка
 
  PNODE nd;     // указатель на последний элемент
  printf("\nINPUT DATE:");
  do{           // цикл формирования списка
     nd=(PNODE)malloc(sizeof(node));
     nd=prepand(lst1,nd);
     if(nd==NULL)       //  выход из цикла
     break;
     N--;       // счетчик введенных элементов
    } while(N > 0);         // пока необходимо вводить элементы
  printf("\n\n\nOur SPISOK:");
  print_to_slist(lst1);         // вывод на печать сформированного списка
 
 
fflush(stdin);
//free(nd);
PNODE nd1;
   printf("\nINPUT SIZE OF THE SPISOK: ");
  scanf("%d",&N2);      // ввод размера списка
 //PNODE first2=NULL;       // указатель на последний элемент
  printf("\nINPUT DATE:");
  do{           // цикл формирования списка
     nd1=(PNODE)malloc(sizeof(node));
     nd1=prepand(lst2,nd1);
     if(nd1==NULL)      //  выход из цикла
     break;
     N2--;          // счетчик введенных элементов
    } while(N2 > 0);        // пока необходимо вводить элементы
  printf("\n\n\nOur SPISOK:");
  print_to_slist(lst2);
   return 0;
}
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
 PNODE prepand(SLIST *l,PNODE nd)
{
    //PNODE nd;             // указатель на новый элемент
    static int num=1;           // номер вводимого элемента
    //nd=(PNODE)malloc(sizeof(node));       // выделение памяти для элемента
    printf("\n\t%d element: ",num);
    scanf("%d",&nd->info);      // ввод данных
    if(nd->info==0)         // окончание ввода данных
{
    free(nd);
    return NULL;
      }
   fflush(stdin);           // очищение буфера ввода
   nd->next=NULL;
   if(is_slist_empty(l))
{
    l->head = l->tail =nd;
    nd->next = NULL;
    l->count = 1;
}
 
    else{
    nd->next = l->head;
    l->head = nd;
   num++;
   }        // счетчик элементов
   return nd;
 }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2014, 23:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести на экран веденные списки (C (СИ)):

Вывести на экран текст из файла, не выводя на экран определённый символ - C (СИ)
Доброго времени суток. Задали написать такую программу. Ничего подобного на практиках не разбирали, а сдавать уже скоро. Помогите решить...

Списки. Вывести на экран элементы списка в указанной последовательности - Free Pascal
дан список из n целых чисел a1,a2,...an. вывести на экран элементы списка в указанной последовательности: a(1),a(2),...,a (n/2), a(n),a...

Списки. Вывести экран элементы списка в указанной последовательности - Free Pascal
1)Дан список из n целых чисел a,a2,...,a.Вывести экран элементы списка в указанной последовательности : a,a,a,a,...,a,a Добавлено через...

Списки и файлы. Вывести на экран только предложения, содержащие слово которое ввели с клавиатуры (найти ошибку в коде) - C++
Ребята привет, мне посоветовали этот форум, как помощь для начинающих программистов. Буду очень признательна, если поможете исправить...

Проверка на веденные данные в поле формы - JavaScript
Здравствуйте! Нужна ваша помощь. Написал небольшую страничку. Нужно сделать проверки на поля формы. Проверки на пустоту сделал. Надо...

Необходимо записывать в ArrayList все значения, веденные с консоли - Java SE
Необходимо записывать в ArrayList значения, веденные с консоли. Значения могут быть только двух типов "первое" и "второе". Сколько будет...

1
anmartex
...
1709 / 1202 / 497
Регистрация: 12.02.2013
Сообщений: 1,978
20.10.2014, 04:11 #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
#include <stdio.h>
#include <stdlib.h>
 
typedef struct Node_t {
    int info;
    struct Node_t* next;
}   Node;
 
typedef struct List_t {
    Node* head;
    Node* tail;
}   List;
 
//-----------------------------------------------------------------------------
List* push(List* list, int info) {
    Node* node = malloc(sizeof(Node));
    node->info = info;
    node->next = NULL;
 
    if (list->head == NULL) {
        list->head = list->tail = node;
    }
    else {
        list->tail->next = node;
        list->tail = node;
    }
    return list;
}
//-----------------------------------------------------------------------------
void write(const List* list) {
    const Node* node = list->head;
    for (; node; node = node->next) {
        printf("%d ", node->info);
    }
    printf("\n");
}
//-----------------------------------------------------------------------------
List* read(List* list, int cnt) {
    int info;
    while ((cnt--) && (scanf("%d", &info) == 1)) {
        push(list, info);
    }
    return list;
}
//-----------------------------------------------------------------------------
 
int main() {
    List list1 = {NULL, NULL};
    List list2 = {NULL, NULL};
    int n1, n2;
 
    printf("input size list: ");
    scanf("%d", &n1);
    read(&list1, n1);
    write(&list1);
 
    printf("input size list: ");
    scanf("%d", &n2);
    read(&list2, n2);
    write(&list2);
 
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2014, 04:11
Привет! Вот еще темы с ответами:

Даны списки чисел, нужно вывести список всех возможных комбинаций чисел, составляющих эти списки - Python
Даны списки чисел, нужно вывести список всех возможных комбинаций чисел, составляющих эти списки (элемент из списка 1, элемент из списка 2...

Как объявить массив на 5 элементов, вывести на экран, проинициализировать его и снова вывести на экран? - C++
как объявить массив на 5 элементов, вывести на экран, проинициализировать его и снова вывести на экран?

Начал осваивать списки. Не работает вывод на экран. - C++
Вот такой пример нашел в интернете: #include &lt;iostream&gt; using namespace std; struct Item { int info; int...

Списки, списки, списки. не все так просто - Python
Написать функцию, которая принимает 2 списка, содержащие одинаковое число строк, затем изменяет списки сопоставляя строки, занимающие...


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

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

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