Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Nickck
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 14
#1

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов

24.12.2015, 17:27. Просмотров 622. Ответов 2

Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов.
Помогите пожалуйста, никак не могу разобраться с этой темой
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2015, 17:27
Ответы с готовыми решениями:

Создать динамический односвязный или двусвязный список
Помогите, как создать динамический односвязный или двусвязный список(Описать...

Заменить массив структур на односвязный список, и на двусвязный список
Взять текст задания и заменить массив структур на односвязный список, и на...

Преобразовать односвязный список в двусвязный список
Доброго времени суток! Помогите, пожалуйста, преобразовать программу из...

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

Преобразовать односвязный список в двусвязный
Нужна помощь в написании следующей программы: Дана односвязная цепочка и...

2
olya7
490 / 307 / 231
Регистрация: 18.02.2013
Сообщений: 738
24.12.2015, 20:53 #2
Лучший ответ Сообщение было отмечено Nickck как решение

Решение

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <cmath>
#include <cstring>
#include <fstream>
 
using namespace std;
struct s
{
    char fio[15];
    s *next;
};
struct ochered
{
    s groop;
    ochered *next,*prev;
};
s* cr(s *begin)
{
    int n;
    cout<<"Enter count of students ";
    cin>>n;
    for(int k=1;k<=n;k++)  {
            s* i=new s;
    char str[50];
    cout<< "Enter fio "<<k<<"studenta " ;
    cin>>str;
    strcpy(i->fio,str);
    i->next=begin;
    begin=i;
    }
 
    return begin;
}
void v(s *begin,int k)
{
    cout<<"New list of "<<k<<"  "<<endl;
    s *i=begin;
    if (begin==NULL)
    {
        cout<<"Groop is empty";
        return;
    }
    while(i!=NULL)
    {
        cout<<i->fio<<endl;
        i=i->next;
    }
    cout<< endl;
}
void f(s *begin)
{
    s *i;
    while (begin!=NULL)
    {
        i=begin;
        begin=(begin)->next;
        delete i;
    }
    cout<<"Memory if free"<<endl;
}
void create(ochered **b, ochered **e)
{
 
    ochered *tek=new ochered;
    s *b1=NULL;
    tek->groop=*cr(b1);
    tek->next=NULL;
    if (*b==NULL)
    {
        tek->prev=NULL;
        *b=*e=tek;
    }
    else{
        tek->prev=*e;
        (*e)->next=tek;
        *e=tek;
    }
   // return tek;
}
 
void view(ochered *begin)
{
    ochered *i=begin;
    if (begin==NULL)
    {
        cout<<"Faculty is empty";
        return;
    }
    int k=1;
    while(i!=NULL)
    {
        cout<<"Info about "<<k<<" groop:"<<endl;
        s *ind=&(i->groop);
        v(ind, k);
        //cout<<i->groop->fio<<endl;
 
        i=i->next;k++;
    }
    cout<<endl;
}
void free(ochered **begin)
{
    ochered *i;
    while (*begin!=NULL)
    {
 
        i=*begin;
        s &ind=(*begin)->groop;
 
        f(&ind);
        *begin=(*begin)->next;
        delete i;
    }
    cout<<"Memory if free"<<endl;
}
int main()
{
    ochered *begin=NULL,*end=NULL;
    int n;
    cout<<"Enter number of grups ";
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        cout<< "Enter info about "<<i<<" groop"<<endl;
        create(&begin,&end);
    }
    view(begin);
    cout<<endl;
 
    free(&begin);
    return 0;
}
2
Nickck
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 14
24.12.2015, 21:25  [ТС] #3
olya7, Благодарю :-) попробуем разобраться
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2015, 21:25

Преобразовать односвязный список в двусвязный
Привет всем!) У меня проблема такого плана: есть односвязный список: ...

Односвязный, двусвязный список, стек, очередь
В общем, всем кто нуждается. Баггов вы не найдете. Односвязный список ...

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


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

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

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