Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
magic666
0 / 0 / 0
Регистрация: 21.09.2014
Сообщений: 12
#1

Вывести на экран веденные списки

19.10.2014, 23:35. Просмотров 334. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2014, 23:35
Ответы с готовыми решениями:

Вывести на экран текст из файла, не выводя на экран определённый символ
Доброго времени суток. Задали написать такую программу. Ничего подобного на...

Ввести строку, вывести на экран пословно, причем каждое слово вывести в обратном порядке
Задание: Ввести строку, вывести на экран пословно, причем каждое слово вывести...

Списки. Вывести на экран элементы списка в указанной последовательности
дан список из n целых чисел a1,a2,...an. вывести на экран элементы списка в...

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

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

1
anmartex
...
1709 / 1202 / 909
Регистрация: 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

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

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

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


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

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

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