Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 10.06.2013
Сообщений: 7
1

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

12.06.2013, 16:47. Показов 855. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать двунаправленный циклический список, заменить элементы модулем

Есть заготовки

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
struct list2
{int data;
list2 *next;
list2 *prev;
};
 
list2 *root,*p,*q,*fin;
 
root=new list2;
root->data=10;
root->next=root;
root->prev=root;
 
for(i=1;i<N;i++)
{q=new list2;
q->data=10*(i+1);
q->next=root;
q->prev=root->prev;
root->prev->-next=q;
root->prev=q;
root=q;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 16:47
Ответы с готовыми решениями:

Циклический двунаправленный список
Имеется циклический двунаправленный список содержащий числа 1,3,5,6,7,9,8,11 . Указатель на голову...

Двунаправленный циклический список (доработать)
Здравствуйте, уважаемые форумчане! Нужна помощь в доработке программы на Delphi. Есть задача на...

Циклический двунаправленный список, упорядоченный по убыванию
Циклический двунаправленный список, упорядоченный по убыванию.

Циклический двунаправленный список переделать в однонаправленный
Не могу никак из циклического двунаправленного переделать в однонаправленный список....

1
...
1906 / 1326 / 965
Регистрация: 12.02.2013
Сообщений: 2,172
12.06.2013, 18:59 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>
 
typedef struct node_t
{
   int value;
   struct node_t* next;
   struct node_t* prev;
}  TNode;
 
//-----------------------------------------------------------------------------
TNode* Push(TNode** list, int value)
{
   assert(list);
 
   TNode* node = (TNode*) malloc(sizeof(TNode));
   node->value = value;
 
   if (*list)
   {
      node->next = *list;
      node->prev = (*list)->prev;
      (*list)->prev->next = node;
      (*list)->prev = node;
   }
   else
   {
      node->next = node->prev = node;
      *list = node;
   }
 
   return *list;
}
//-----------------------------------------------------------------------------
void ForAll(TNode* list, void (*func)(int*))
{
   assert(func);
 
   TNode* node = list;
 
   if (list)
   {
      while (node->next != list)
      {
         func(&node->value);
         node = node->next;
      }
      func(&node->value);
   }
}
//-----------------------------------------------------------------------------
void Print(int* value)
{
   printf("%d ", *value);
}
//-----------------------------------------------------------------------------
void Abs(int* value)
{
   *value = abs(*value);
}
//-----------------------------------------------------------------------------
 
int main()
{
   srand(time(NULL));
   size_t count = rand() % 20 + 1;
   TNode* list = NULL;
 
   while (count--)
   {
      Push(&list, rand() % 20 - 10);
   }
 
   ForAll(list, Print);
   printf("\n");
 
   ForAll(list, Abs);
   ForAll(list, Print);
   printf("\n");
 
   return 0;
}
Создать двунаправленный циклический список, заменить элементы модулем


Результат выполнения

P.S.: очистку списка не делал дабы не загромождать.
1
12.06.2013, 18:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 18:59
Помогаю со студенческими работами здесь

Циклический двунаправленный список с заглавным звеном
Вот такое вот лихое задания. Пусть L обозначает кольцевой (циклический) двунаправленный список с...

Создать двунаправленный список
Задание: Записи в линейном списке содержат ключевое поле типа *char(строка символов). Сформировать...

Создать двунаправленный список
помогите составить программу. заранее спасибо!!! Текст задачи: Создать список из случайных целых...

Создать двунаправленный список
Всем привет! помогите пж сохдать двунаправленный список с числами в диапазоне -50 +50. У меня есть...

С++ заменить в массиве отрицательные элементы их модулем
в общем задание такое: заменить все отрицательные элементы, кратные трем, их модулем код...

Создать двунаправленный список из целых чисел
Нужна помощь! Создать двунаправленный список из целых чисел. Удалить из списка элемент после...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru