Форум программистов, компьютерный форум CyberForum.ru

Найти в списке первый подходящий по размеру узел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование сетевой карты http://www.cyberforum.ru/cpp-beginners/thread620800.html
Здравствуйте! Подскажите пожалуйста где посмотреть полное описание Broadcom 802.11n. Регистры, их назначение и адреса.
C++ Алгоритм Рабина-Карпа для нахождения кол-ва вхождений подстроки в строку У меня был текстовый файл, в котором элементами были числа, записанные через запятую. Например: 5421,777 254,888 11,82 Надо было найти кол-во вхождений первой строки в остальные. По заданию также нужно было записать эти самые строки в список, элементами которого являются вот эти вот числа, записанные через запятую. Я создал эти два списка. В первом как элементы записаны числа первой строки,... http://www.cyberforum.ru/cpp-beginners/thread620754.html
Операторы "видимости" C++
Объясните плиз нубу, что значат в с++ операторы: ->, ::, . ? В любой литературе этот вопрос упускают, говоря что это "оператор видимости".
C++ printf не выводит значение строки
заместо значения выводит (null) #include <stdio.h> #include <string> #include <iostream> int main() { std::string stry("dDSGSfSfSGSDGdsGfHSDSDdSDGSD"); for(std::string::iterator it=stry.begin(); it != stry.end();++it) {
C++ Проинициализировать класс массивов который имеет конструктор по умолчанию http://www.cyberforum.ru/cpp-beginners/thread620716.html
Или я не знаю как правельно спрасить у гуглы,или это не возможно,кто знает как можно реализовать такое class a { int q,w,e; a(int b) { q = w = e = b; } };
C++ Склеивание чисел из символов, считанных из файла Я посимвольно считываю файл, в котором через запятую записана последовательность чисел, и записываю эти самые символы в элементы структуры, но возникает проблема: числа разрывается на отдельные символы, а мне надо сохранить их целыми. Как это сделать? Мой код, в котором происходит считывание: void main() { Spisok pers; ifstream fin("ha.txt"); if (!fin.is_open()) // если файл не открыт ... подробнее

Показать сообщение отдельно
Catstail
Модератор
22514 / 10919 / 1774
Регистрация: 12.02.2012
Сообщений: 18,065
08.07.2012, 12:15     Найти в списке первый подходящий по размеру узел
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include "iostream.h"
 
struct Node
{
    long memSize;
    Node *Next;
};
 
Node *BegList;
 
void PutInList(long sz)
{
    Node *Curr;
    Curr=new Node;
    Curr->memSize=sz;
    Curr->Next=BegList;
    BegList=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 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;
    }
};
 
// ÓäГ*ëèòü ñïèñîê
 
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;
 
    MakeList (szB,sizeof(szB)/sizeof(int));
 
    cout << "Initial List:" << endl;
 
    PrintList();
 
    cout << endl << "Enter block size: ";
    
    cin >> bs;
 
    if ((bq=searchBlock(bs)) > 0)
        cout << "Block (" << bq << " ) is found" << endl;
    else
        cout << "Bloсk not found!" << endl;
 
    cout << endl;
    
    PrintList();
 
    DeleteList();
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru