Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить матрицу, от левого верхнего угла по диагонали: вправо - вверх http://www.cyberforum.ru/cpp-beginners/thread844965.html
Помогите пожалуйста, уже второй день мучаюсь...
C++ Ввод-вывод из файла Товарищи форумчане, помогите разобраться с выводом из файла на экран. Забить в файл у меня получилось,авот вывести никак. Вот часть кода: #include <conio.h> #include <windows.h> #include... http://www.cyberforum.ru/cpp-beginners/thread844932.html
Как удалить столбцы C++
Нужна программа , которая удаляет столбцы из двумерного массива , запрашивая номер столбца по одному.
C++ суммарное смещение в новый массив
Доброго всем дня! Прогуглил,но не нашёл искомого. Суть такова:имеется массив,например , из 4 элементов(заполненный). Имеется еще массив, размерностью на 1 менее, т.е. 3. И необходимо, чтобы...
C++ Вычислить среднеарифметическое нечетных элементов массива http://www.cyberforum.ru/cpp-beginners/thread844886.html
Дан одномерный массив, состоящий из N целочисленных элементов. Заполнить массив случайными числами. Вычислить среднеарифметическое нечетных элементов массива.
C++ Вычислить произведение не нулевых элементов массива Дан одномерный массив, состоящий из N целочисленных элементов. Заполнить массив случайными числами.Вычислить произведение не нулевых элементов массива. подробнее
Lonter
1 / 1 / 0
Регистрация: 22.04.2013
Сообщений: 45
0

Выручайте! Нужно переделать прогу под двусвязный список.ничего не понимаю)

22.04.2013, 10:56. Просмотров 1001. Ответов 23
Метки (Все метки)

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 <conio.h> 
struct Node
{
    int memSize;
    Node *Next;
};
Node *BegList;
using namespace std;
void MakeList(int *Sz, int n)
{
    Node *Curr,*Prev;
    int i;
    BegList=new Node;
    BegList->Next =NULL;
    BegList->memSize=Sz[0];
    cout << Sz[0] << endl;
    Prev=BegList;
    for (i=1; i<n; i++)
    {
        Curr=new Node;
        Prev->Next =Curr;
        Curr->Next =NULL;
        Curr->memSize=Sz[i];
        cout << Sz[i] << endl;
        Prev=Curr;
    }
};
 
long searchBlock(long sz)
{
    Node *Curr, *Prev, *Nxt;
    long szBlock;
    Curr=BegList;
    Prev=NULL;
    while(1)
    {
        if (Curr == NULL) 
        {
            szBlock=-1;
            break;
        }
        if (Curr->memSize >= sz) // Нашли...
        {
           
                   Nxt=Curr->Next;
                   szBlock=Curr->memSize;
           
                  if (Curr == BegList) // Блок первый
           {
               if (Nxt == NULL) // и единственный
               {
                   delete BegList;
                   cout << "Now list is empty" << endl;
                   break;
               }
               else
               {
                   delete BegList;
                   BegList=Nxt;
                   break;
               }
 
           }
           else // блок не первый
           {
               if (Nxt == NULL)  // последний
               {
                   delete Curr;
                   Prev->Next=NULL;
                   break;
               }
               else
               {
                   delete Curr;
                   Prev->Next=Nxt;
                   break;
               }
           }
           
        }
        Prev=Curr;
        Curr=Curr->Next;
    }
    return  szBlock;
};
void DeleteList()
{
    Node *Curr,*Next;
    Curr=BegList;
    while (1)
    {
      Next=Curr->Next;
      delete Curr;
      if (Next == NULL) break;
      Curr=Next;
    }
};
   
// Распечатать список
 
void PrintList()
{
    Node *Curr,*Next;
    Curr=BegList;
    while (1)
    {
      Next=Curr->Next;
      cout << Curr->memSize << endl; 
      if (Next == NULL) break;
      Curr=Next;
    }
};
           
int main(int argc, char* argv[])
{
    int szB[]={100,200,300,400,500};
    long bs,bq;
    cout << "Initial List:" << endl;
    MakeList (szB,sizeof(szB)/sizeof(int));
    cout << endl << "Enter block size: ";
    cin >> bs;
    if ((bq=searchBlock(bs)) > 0)
        cout << "Block (" << bq << " ) is found" << endl;
    else
        cout << "Block not found!" << endl;
    cout << endl;
    PrintList();
    DeleteList();
    getch();
    return 0;
}


Вернуться к обсуждению:
Выручайте! Нужно переделать прогу под двусвязный список.ничего не понимаю)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 10:56
Готовые ответы и решения:

Как переделать эту прогу в шаблон классов "Двусвязный список" произвольных элементов
#include &lt;iostream.h&gt; #include &lt;stdlib.h&gt;2 #include &lt;conio.h&gt; using...

Переделать двусвязный список в двусвязный кольцевой
Здравствуйте, у меня єсть двусвязный список однако он не кольцевой! как это...

Переделать на Двусвязный список
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string.h&gt; #include...

Как переделать двусвязный список в циклический c++
Как переделать двусвязный список в циклический c++

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

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