Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/63: Рейтинг темы: голосов - 63, средняя оценка - 4.71
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767

Указатели на структуры

06.11.2010, 18:20. Показов 13070. Ответов 104
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
type  celltype = record 
elетеt: integer; 
next: ^celltype 
end; 
DICTIONARY = array[0..B-1]  of  ^celltype;
какой аналог этой записи будет на си?
C++
1
2
3
4
5
6
7
typedef struct spis
{
    char *s;
    spis *next;
};
 
typedef struct spis *dict[maxn];
такой?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2010, 18:20
Ответы с готовыми решениями:

Указатели на структуры
Подскажите в чем ошибка...Дело в том когда я в вожу в каждое поле по 1 значению все нормально выводит,но если при в вводе в поле я пишу два...

Указатели и структуры
Здравствуйте. Подскажите, пожалуйста, почему не меня среда ругается. error C2440: =: невозможно преобразовать "Book *" в...

Указатели и структуры
Здравия желаю. Подскажите пожалуйста каким образом осуществляется доступ к полю структуры, если оно является указателем?

104
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 09:39  [ТС]
Студворк — интернет-сервис помощи студентам
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
#include <iostream>
 
#define maxn 10
 
 struct spis //ýëåìåíò õåø-òàáëèöû óçåë ñïèñêà
 {
    char *val;
    struct spis *next;
};
 
typedef struct spis *dictionary[maxn];//êàæäîå dictionary[i]-ðåçóëüòàò õåø-ôóíêöèè
 
 
int ord(char o)//ïåðåâîä ñèìâîëà â êîä
{
    return (unsigned char) o;
}
 
int hash (char *x)//õåø-ôóíêöèÿ
{
 int i,sum=0;
 for(i=0;i<strlen(x);i++)
    sum+=ord(x[i]);//ñóììèðóåì êîäû ñèìâîëîâ
  return sum%maxn; 
}
 
void makenull(dictionary k)//îáíóëåíèå õåø-òàáëèöû
{
    for(int i=0;i<maxn;i++)
    k[i]=0;
}
 
bool member(char *x,dictionary k)//ïðîâåðêà íà íàëè÷èå
{
    spis *cur;
    cur=k[hash(x)];//íà÷àëüíîå çíà÷åíèå ðàâíî çàãîëîâêó ñåãìåíòà êîòîðîìó ïðèíàäëåæèò x
    while (cur!=0)//ïîêà íå äîéäåò äî êîíöà 
    {
        if (cur->val==x)//åñëè åñòü
         return true;//çíà÷èò åñòü
        else //èíà÷å
         cur=cur->next;//ïåðåìåùàòüñÿ
    }
    return false;
}
 
void insert(char *x,dictionary k)//âòàâêà
{
    
    int symb;//íîìåð ñåãìåíòà
    spis *oldhead;//äëÿ áûâøåé ãîëîâû
    if (!member(x,k)) //åñëè íåò òî
    {
        char *x1=new char[strlen(x)+1];//äëÿ õðàíåíèÿ ïî óêàçàòåëþ
        strcpy(x1,x);
        symb=hash(x1);//ñîçäàåì êîä äëÿ ñòðîêè
        oldhead=k[symb]; //ñòàðîé ãîëîâå ïðèñâîèòü çíà÷åíèå k-õåøåâñêîãî
        k[symb]=new spis; //íîâûé ýëåìåíò òèïà spis c êîäîì symb
        k[symb]->val=x1; //çàïèñàòü çíà÷åíèå
        k[symb]->next=oldhead; //óêàçàòåëü íà ñëåäóþùèé ýëåìåíò ñäåëàòü íà ñòàðóþ ãîëîâó
    }
}
 
void del(char *x,dictionary k) //óäàëåíèå
{
 
    int symb;//äëÿ õðàíåíèÿ êîäà 
    spis *cur;//óêàçàòåëü íà ýëåìåíòà òèïà spis
    symb=hash(x);//ïîëó÷àåì êîä äëÿ òîãî ÷òî õîòèì óäàëèòü
    bool f=true;
    if (k[symb]!=0)//åñëè òî ÷òî ïîëó÷åíî íå íîëü
    {
        if (k[symb]->val==x)
         { //åñëè ñëó÷èëîñü ÷òî ýëåìåíò óäàëÿåìûé ãîëîâà
          spis *chuck=k[symb];//äîïîëíèòåëüíîé ïåðåìåííîé çíà÷åíèå õåø
          k[symb]=k[symb]->next; //ãîëîâîé ñòàë áûâøèé next
          delete chuck;//óäàëåÿì èç ïàìÿòè
          delete [] chuck->val;//õðàíèòñÿ ïî óêàçàòåëþ ïîýòîìó ïîñëå âûäåëåíèÿ èçâëå÷åì
         }
          else //èíà÷å
          {
            cur=k[symb];//ïðèñâîèì çíà÷åíèå ýëåìåíòà ñ êîäîì symb
            while((cur->next!=0)&&(f))//ïîêà ïî ýòîìó êîäó ïî ñïèñêó íå äîéäåò ïîñëåäíåãî èëè íå íàéäåò
             if (cur->next->val==x)//åñëè ýëåìåíò ñëåäóþùèé èìååò ýòî çíà÷åíèå òî
             {
                spis *chuck=cur->next;//ïðèñâàèâàåì ïåðåìåííîé çíà÷åíèÿ òîãî êîãî õîòèì óäàëèòü
                cur->next=cur->next->next;//ýëåìåíò ïðåä óêàçûâàåò óæå íå íà íåãî íà çà ñëåäóþùèé çà íèì
                delete [] chuck->val;//óäàëåíèå ñòðîêè
                delete chuck;//óäàëåíèå ýëåìåíòà
                f=false;//öèêë çàâåðøåí
             }
             else
             cur=cur->next;//Ïåðåìåùàåìñÿ ïî ñïèñêó
          }
    }
}
 
void show(dictionary k)//ïðîñìîòð òàáëèöû
{
    spis *cur;//äëÿ ñîõðàíåíèÿ ãîëîâû
     int i=0;
     while (i<maxn)
     {
          if (k[i]==0)
           {
            cout<<i<<" ";
            i++;
           }
           else
            {
             cur=k[i];
             cout<<i<<" ";
             while (cur->next!=0)//ïîêà íå äîéäåò äî ïîñëåäíåãî ýëåìåíòà
             {
              cout<<cur->val<<" ";//ïîëå äàííûõ âûâîäèòü
              cur=cur->next;
             }
             i++;
            }
          cur=0;
          cout<<endl;//ïåõîä íà ñëåäóþùóþ ñòðîêó*/
       }
}
 
int main()
{
   dictionary d;
   char s1[10];
   cin>>s1; 
   for(int i=0;i<maxn;i++)
   d[i]=new spis;//òàê êàê ìàññèâ óêàçàòåëåé
   insert(s1,d);
  // strcpy(s1,"wet");
  // del(s1,d);
  // show(d);
  // makenull(d);
  return 0;
}
теперь должно работать.но прога не завершается.

Добавлено через 2 минуты
Цитата Сообщение от accept Посмотреть сообщение
не, ты хочешь не понимая ничего сдавать, а зачем это делать, разве в этом есть смысл ?

Не по теме:

в этом есть смысл т.к. чтобы получить допуск к зачету надо сдать все лабы.а занятия раз в месяц.и последнее занятие будет в декабре.там будет лаба про внешние сортировки.ну посмотрим сколько у меня хвостов будет.осталось 20 минут хахаха

0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 11:43
C++
1
2
          delete chuck;//удалеям из памяти
          delete [] chuck->val;
C++
1
2
          delete [] chuck->val;
          delete chuck;//удалеям из памяти
C++
1
if (k[symb]->val==x)
C++
1
if (cur->next->val==x)
не, тут надо strcmp()

C++
1
2
for(int i=0;i<maxn;i++)
   d[i]=new spis;//так как массив указателей
а это зачем, есть функция обнуления указателей
вставка берёт такой нулевой указатель и присваивает его spis->next'у, так список будет заканчиваться нулевым указателем

кстати из-за этого и не завершалось, ты когда выделял, эти spis->next'ы нулями не делал
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 13:42  [ТС]

Не по теме:

вуху!появилось время до пятницы!правда сдать надо деки,хеширования и бинарные деревья.лвл деревья даже трогать не буду


правда минус в том что надо хеширования доделать на сишке и деки а деревья в паскале буду делать т.к. надо в графическом окне

Добавлено через 16 минут
Цитата Сообщение от accept Посмотреть сообщение
кстати из-за этого и не завершалось, ты когда выделял, эти spis->next'ы нулями не делал
а без этого вылетает
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 13:45  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
Код C++
1
2
3
4
delete chuck;//удалеям из памяти
* * * * * delete [] chuck->val;
Код C++
1
2
3
4
delete [] chuck->val;
* * * * * delete chuck;//удалеям из памяти
а тут что не так?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 13:46
ты исправил на strcmp() ?

Добавлено через 47 секунд
Цитата Сообщение от Artishok Посмотреть сообщение
а тут что не так?
нельзя обращаться к элементам освобождённой структуры
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 13:52  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
ты исправил на strcmp() ?

Добавлено через 47 секунд


нельзя обращаться к элементам освобождённой структуры
да исправил
но ведь ты сказал что надо строку очищать.
Поменял местами.все рвно вылетает

Добавлено через 1 минуту
какие ещё ошибки остались?

Добавлено через 4 минуты
не вылетает же оно просто так
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 13:53
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    dictionary d;
    char s1[10];
 
    makenull(d);
 
    cin >> s1; 
    insert(s1, d);
    show(d);
    return 0;
}
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 14:02  [ТС]
то есть предварительно надо обнулять?

Добавлено через 44 секунды
О!!выводи все i

Добавлено через 26 секунд
правда ничего туда не записывает но уже прогресс

Добавлено через 1 минуту
значит в insert все же что=то не так

Добавлено через 2 минуты

Не по теме:

оу.и опять в универ идти.хм.но спасть ложится сегодня не буду.надо закончить и открытое и закрытое хешировние сегодня

0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 14:45
show()
C++
1
2
3
        cur = k[i];
        cout<< i << " ";
        while (cur->next != 0) // надо cur != 0
это из-за того лишнего элемента, который выделялся в предыдущей версии
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 20:39  [ТС]
Ну почти конец...
удаляется весьма своеобразно.щас наката менюшку чтобы тестить было проще

Добавлено через 1 час 21 минуту
такс.что мы имеем

удаляет элемент перед удаляемым если элементов больше одного.если один то не удаляет.
функция member не работает т.е. не ищет.


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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
 
#define maxn 10
 
 struct spis //ýëåìåíò õåø-òàáëèöû óçåë ñïèñêà
 {
    char *val;
    struct spis *next;
};
 
typedef struct spis *dictionary[maxn];//êàæäîå dictionary[i]-ðåçóëüòàò õåø-ôóíêöèè
 
 
int ord(char o)//ïåðåâîä ñèìâîëà â êîä
{
    return (unsigned char) o;
}
 
int hash (char *x)//õåø-ôóíêöèÿ
{
 int i,sum=0;
 for(i=0;i<strlen(x);i++)
    sum+=ord(x[i]);//ñóììèðóåì êîäû ñèìâîëîâ
  return sum%maxn; 
}
 
void makenull(dictionary k)//îáíóëåíèå õåø-òàáëèöû
{
    for(int i=0;i<maxn;i++)
    k[i]=0;
}
 
bool member(char *x,dictionary k)//ïðîâåðêà íà íàëè÷èå
{
    spis *cur;
    cur=k[hash(x)];//íà÷àëüíîå çíà÷åíèå ðàâíî çàãîëîâêó ñåãìåíòà êîòîðîìó ïðèíàäëåæèò x
    while (cur!=0)//ïîêà íå äîéäåò äî êîíöà 
    {
        if (strcmp(cur->val,x))//åñëè åñòü
         return true;//çíà÷èò åñòü
        else //èíà÷å
         cur=cur->next;//ïåðåìåùàòüñÿ
    }
    return false;
}
 
void insert(char *x,dictionary k)//âòàâêà
{
    
    int symb;//íîìåð ñåãìåíòà
    spis *oldhead;//äëÿ áûâøåé ãîëîâû
    if (!member(x,k)) //åñëè íåò òî
    {
        char *x1=new char[strlen(x)+1];//äëÿ õðàíåíèÿ ïî óêàçàòåëþ
        strcpy(x1,x);
        symb=hash(x1);//ñîçäàåì êîä äëÿ ñòðîêè
        oldhead=k[symb]; //ñòàðîé ãîëîâå ïðèñâîèòü çíà÷åíèå k-õåøåâñêîãî
        k[symb]=new spis; //íîâûé ýëåìåíò òèïà spis c êîäîì symb
        k[symb]->val=x1; //çàïèñàòü çíà÷åíèå
        k[symb]->next=oldhead; //óêàçàòåëü íà ñëåäóþùèé ýëåìåíò ñäåëàòü íà ñòàðóþ ãîëîâó
    }
}
 
void del(char *x,dictionary k) //óäàëåíèå
{
 
    int symb;//äëÿ õðàíåíèÿ êîäà 
    spis *cur;//óêàçàòåëü íà ýëåìåíòà òèïà spis
    symb=hash(x);//ïîëó÷àåì êîä äëÿ òîãî ÷òî õîòèì óäàëèòü
    bool f=true;
    if (k[symb]!=0)//åñëè òàì íå ïóñòî
    {
        if (strcmp(k[symb]->val,x))
         { //åñëè ñëó÷èëîñü ÷òî ýëåìåíò óäàëÿåìûé ãîëîâà
          spis *chuck=k[symb];//äîïîëíèòåëüíîé ïåðåìåííîé çíà÷åíèå õåø
          k[symb]=k[symb]->next; //ãîëîâîé ñòàë áûâøèé next
          delete [] chuck->val;//õðàíèòñÿ ïî óêàçàòåëþ ïîýòîìó ïîñëå âûäåëåíèÿ èçâëå÷åì
          delete chuck;
         }
          else //èíà÷å
          {
            cur=k[symb];//ïðèñâîèì çíà÷åíèå ýëåìåíòà ñ êîäîì symb
            while((cur->next!=0)&&(f))//ïîêà ïî ýòîìó êîäó ïî ñïèñêó íå äîéäåò ïîñëåäíåãî èëè íå íàéäåò
             if (strcmp(cur->next->val,x))//åñëè ýëåìåíò ñëåäóþùèé èìååò ýòî çíà÷åíèå òî
             {
                spis *chuck=cur->next;//ïðèñâàèâàåì ïåðåìåííîé çíà÷åíèÿ òîãî êîãî õîòèì óäàëèòü
                cur->next=cur->next->next;//ýëåìåíò ïðåä óêàçûâàåò óæå íå íà íåãî íà çà ñëåäóþùèé çà íèì
                delete [] chuck->val;//óäàëåíèå ñòðîêè
                delete chuck;//óäàëåíèå ýëåìåíòà
                f=false;//öèêë çàâåðøåí
             }
             else
             cur=cur->next;//Ïåðåìåùàåìñÿ ïî ñïèñêó
          }
    }
}
 
void show(dictionary k)//ïðîñìîòð òàáëèöû
{
    spis *cur;//äëÿ ñîõðàíåíèÿ ãîëîâû
     int i=0;
     while (i<maxn)
     {
          if (k[i]==0)
           {
            cout<<i<<" ";//çíà÷åíèÿ õåø ôóíêöèé
            i++;
           }
           else
            {
             cur=k[i];//äëÿ ïåðåìåùåíèÿ
             cout<<i<<" ";
             while (cur!=0)//ïîêà íå äîéäåò äî ïîñëåäíåãî ýëåìåíòà
             {
              cout<<cur->val<<" ";//ïîëå äàííûõ âûâîäèòü
              cur=cur->next;
             }
             i++;
            }
          cur=0;
          cout<<endl;//ïåõîä íà ñëåäóþùóþ ñòðîêó*/
       }
}
 
int main()
{
   dictionary d;
   int el;//ïåðåìåíàÿ ñ÷èòûâàíèÿ
   
   makenull(d);//ïðåäâàðèòåëüíîå îáíóëåíèå
   
   while(0<1)
   {
    system("cls");
    cout<<"Insert into table-------1"<<endl;
    cout<<"Show table--------------2"<<endl;
    cout<<"Del elem----------------3"<<endl;
    cout<<"Find elem---------------4"<<endl;
    cout<<"Clean-------------------5"<<endl;
    cin>>el;
    switch(el)
    {
        case 1:
        {
            system("cls");
            char emb[80];
            cin>>emb;
            insert(emb,d);
            getchar();
            break;
        }
        case 2:
        {
            system("cls");
            show(d);
            getchar();
            break;
        }
        case 3:
        {
            system("cls");
            char dell[80];
            cin>>dell;
            del(dell,d);
            getchar();
            break;
        }
        case 4:
        {
            system("cls");
            char imb[80];
            cin>>imb;
            if (member(imb,d))
              cout<<"Elem exist"<<endl;
              else
              cout<<"There is no such element"<<endl;
              getchar();
              break;
        }
        case 5:
        {
            system("cls");
            makenull(d);
            cout<<"Hash table is clean now"<<endl;
            getchar();
            break;
        }
    }
   }
   return 0;
}
Добавлено через 2 минуты
и большие слова не вставляет.
trousers - вставляет.в ту же ячейку...хех spiderman уже не вставляется

Добавлено через 46 минут
чтобы темы не плодить.

вот дек через список.
как и с деком через массив при одном элементе возникает проблема
он показывает этот элемент нормально.но если его извлечь то прога....не работает нормально.
очевидно это как-то связано с тем что tail и Head не становятся одной элементой.как это исправить?
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
#include <iostream.h>                                                                       
#include <stdlib.h>                                                                         
#include  <stdio.h>                                                                         
                                                                                            
//äåê ðåàëèçîâûâàåòñÿ â äàííîì ñëó÷àå ÷åðåç äâóíàïðàâëåííûé ñïèñîê                          
                                                                                            
struct deque                                                                                
{                                                                                           
    int val;                                                                                   
    deque *prev,*next;                                                                      
};                                                                                          
                                                                                            
deque *head=0,*tail=0;                                                                      
                                                                                            
void insertnach(int x)                                                                      
{                                                                                           
  deque *tmp1=new deque;//ñîçäàåì íîâûé ýëåìåíò                                             
  tmp1->val=x;//â ïîëå äàííûõ âïèñûâàåì çíà÷åíèå                                            
  if (head==0)                                                                              
  {                                                                                         
    head=tmp1;//åäèíñòâåííûé ýëåìåíò ïîêà è íà÷àëî                                           
    tail=tmp1;//è õâîñò                                                                      
    head->prev=0;//çàíóëÿåì ññûëêè                                                           
    tail->next=0;                                                                            
    head->next=0;                                                                            
    tail->prev=0;                                                                            
  }                                                                                         
  else                                                                                      
  {                                                                                         
    head->prev=tmp1;//ýëåìåíò ïåðåä ãîëîâîé íîâûé                                            
    tmp1->next=head;//ýëåìåíò íîâûé èäåò ïåðåä ñòàðûì                                        
    head=tmp1;//íîâàÿ ãîëîâà íîâûé ýëåìåíò                                                   
    head->prev=0;                                                                            
  }                                                                                         
}                                                                                           
                                                                                            
void insertlast(int x)                                                                      
{                                                                                           
    deque *tmp=new deque;//ñîçäàåì ýëåìåíò                                                     
    tmp->val=x;                                                                                
    if (tail==0)//åñëè ïóñòîé äåê                                                              
    {                                                                                          
        head=tmp;//ýëåìåíò è ãîëîâà                                                               
        tail=tmp;//è õâîòñ                                                                        
        tail->next=0;//çàíóëÿåì ññûëêè                                                            
        head->prev=0;                                                                             
        head->next=0;                                                                             
        tail->prev=0;                                                                             
                                                                                                  
    }                                                                                          
    else                                                                                       
    {                                                                                       
        tail->next=tmp;//ñëåäóþùèé ýëåìåíò çà  õâîñòîì íîâûé                                      
        tmp->prev=tail;//äëÿ íîâîãî ýëåìåíòà ïðåäûäóùèé - õâîñò                                   
        tail=tmp;//õâîñò íîâûé ýëåìåíò                                                            
        tail->next=0;                                                                             
    }                                                                                          
}                                                                                           
                                                                                            
void showfront()                                                                            
{                                                                                           
    deque *el;                                                                                 
    el=head;                                                                                   
    while(el!=0)//èäåì äî óêàçàòåëÿ íà ïóñòîòó                                                 
    {                                                                                          
        cout<<el->val<<" ";                                                                       
        el=el->next;//äâèãàåì ïî óêàçàòåëÿì                                                       
    }                                                                                          
}                                                                                           
                                                                                            
void showback()                                                                             
{                                                                                           
    deque *el1;                                                                                
    el1=tail;                                                                                  
    while(el1!=0)//èäåì äî óêàçàòåëÿ íà ïóñòîòó                                                
    {                                                                                          
        cout<<el1->val<<" ";                                                                      
        el1=el1->prev;                                                                            
    }                                                                                          
}                                                                                           
                                                                                            
void popfront()                                                                             
{                                                                                           
    if (head==tail)                                                                            
    {                                                                                          
        delete head;                                                                              
        delete tail;                                                                              
    }                                                                                          
    else                                                                                       
    {                                                                                          
     deque *el2;                                                                               
     el2=head;//çíà÷åíèå óäàëÿåìîãî                                                            
     head=head->next;//íîâàÿ ãîëîâà áûâøèé ñëåäóþùèé ýëåìåíò                                   
     head->prev=0;//äàëåå ïóñòîòà                                                              
     delete el2;                                                                               
    }                                                                                          
}                                                                                           
                                                                                            
void popback()                                                                              
{                                                                                           
     if (head==tail)//åñëè îäèí èëè íåò âîîáùå                                              
     {                                                                                      
        delete head;                                                                          
        delete tail;                                                                          
     }                                                                                      
     else                                                                                   
     {                                                                                      
        deque *el3;                                                                           
        el3=tail;                                                                             
        tail=tail->prev;                                                                      
        tail->next=0;                                                                         
        delete el3;                                                                           
     }                                                                                      
}                                                                                           
                                                                                            
void clean()                                                                                
{                                                                                           
    deque *del;                                                                                
    while(head!=0)//ïîêà íå î÷èñòèòñÿ                                                          
    {                                                                                          
      del=head; //ïðèñâàåì çíà÷åíèå ãîëîâå                                                     
      head=head->next;//èçìåíÿì ãîëîâó                                                         
      delete del;//óäàëÿåì ýëåìåíò ãîëîâà                                                      
    }                                                                                          
}                                                                                           
                                                                                               
                                                                                               
int main()                                                                                  
{                                                                                           
    while(0<1)                                                                                 
        {                                                                                   
            system("cls");                                                                     
            cout<<"Insert in front----1"<<endl;                                                      
            cout<<"Insert into back---2"<<endl;                                             
            cout<<"Show back----------3"<<endl;                                             
            cout<<"Show front---------4"<<endl;                                             
            cout<<"Pop back-----------5"<<endl;                                             
            cout<<"Pop front----------6"<<endl;                                             
            int el;                                                                         
            cin>>el;                                                                        
            switch(el)                                                                      
            {                                                                               
                case 1:                                                                        
                {                                                                              
                    system("cls");                                                                
                    int elem;                                                                              
                    cin>>elem;                                                                    
                    insertnach(elem);                                                             
                    break;                                                                        
                }                                                                              
                case 2:                                                                        
                {                                                                              
                    system("cls");                                                                
                    int elem;                                                                              
                    cin>>elem;                                                                    
                    insertlast(elem);                                                             
                    break;                                                                        
                }                                                                              
                case 3:                                                                        
                {                                                                              
                    if ((head==0)&&(tail==0))                                                     
                    {                                                                             
                        system("cls");                                                               
                        cout<<"It's free"<<endl;                                                              
                        getchar();                                                                   
                        break;                                                                       
                    }                                                                             
                    system("cls");                                                                         
                    showback();                                                              
                    getchar();                                                               
                    break;                                                                   
                }                                                                              
                case 4:                                                                        
                {                                                                              
                    if ((head==0)&&(tail==0))                                               
                    {                                                                       
                      system("cls");                                                        
                      cout<<"It's free"<<endl;                                                             
                      getchar();                                                            
                      break;                                                                
                    }                                                                       
                    system("cls");                                                                         
                    showfront();                                                                           
                    getchar();                                                                             
                    break;                                                                                 
                }                                                                              
                case 5:                                                                        
                {                                                                              
                    system("cls");                                                                
                    popback();                                                                    
                    cout<<"one element poped"<<endl;                                              
                    getchar();                                                                    
                    break;                                                                        
                }                                                                              
                case 6:                                                                        
                {                                                                              
                    system("cls");                                                                
                    popfront();                                                                   
                    cout<<"One element poped"<<endl;                                              
                    getchar();                                                                    
                    break;                                                                        
                }                                                                              
            }                                                                               
        }                                                                                   
    clean();                                                                                   
}
Добавлено через 27 минут
такой вопрос
можно ли записать не так
C++
1
2
3
4
5
6
7
8
9
10
typedef struct
{
 int val;
int dt,dh;
}deque;
int main()
{
  deque k;
  k.dt=0;
k.dh=maxn-1;
а так
C++
1
2
3
4
5
typedef struct deque
{
 int val;
int dh,dt;
}k;
а потом использовать как глобальные k.dt и k.dh?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 22:57
C++
1
if (strcmp(cur->val,x))//если есть
это неправильно

Добавлено через 1 минуту
с деком то же самое, зачем там пустой элемент ? (а, не, показалось)

Добавлено через 2 минуты
C++
1
2
3
4
        head->prev=0;//зануляем ссылки                                                           
        tail->next=0;                                                                            
        head->next=0;                                                                            
        tail->prev=0;
C++
1
2
        head->prev=0;//зануляем ссылки                                                           
        tail->next=0;
этих достаточно, это же один элемент

Добавлено через 3 минуты
C++
1
void popfront()
она не удаляет, а выталкивает, то есть должно быть получено значение, которое хранится в узле
1
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 23:20  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
она не удаляет, а выталкивает, то есть должно быть получено значение, которое хранится в узле
да я знаю.просто тогда функция будет возвращать значение а мне хотелось бы чтобы она там их сразу и выводила.но я в ней элементы который вывожу удаляю

Добавлено через 37 секунд
ну то есть я его не выввожу.она просто удаляет

Добавлено через 2 минуты
я сейчас переделываю дек через массив там работы поменьше чем с хешированием.(точнее пробелм больше но я хотя бы имею план их решения).потом надо будет решить "проблему извлечения из дека".

Добавлено через 2 минуты
Цитата Сообщение от Artishok Посмотреть сообщение
ну то есть я его не выввожу.она просто удаляет
но даже если сделать int pop то все равно ту проблемы это не решит

Добавлено через 2 минуты
точнее проблемы одноэлементного извлечения
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 23:24
не, там по ходу надо
C++
1
int popfront(int &value);
возврат отвечает за пустоту дека

Добавлено через 2 минуты
Цитата Сообщение от Artishok Посмотреть сообщение
Добавлено через 27 минут
такой вопрос
можно ли записать не так
C++
1
2
3
4
5
6
7
8
9
10
typedef struct
{
 int val;
int dt,dh;
}deque;
int main()
{
  deque k;
  k.dt=0;
k.dh=maxn-1;
а так
C++
1
2
3
4
5
typedef struct deque
{
 int val;
int dh,dt;
}k;
а потом использовать как глобальные k.dt и k.dh?
не, k - это новое имя типа, так как там typedef

можно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct node {
    int val;
    node *prev, *next; 
};
 
struct deque
{
    node *head, *tail;
    size_t nobj;
};
 
...
 
    deque d = { 0, 0, 0 };
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 23:28  [ТС]
ну я придумал 3-й способ проверки:
проверки на введенность(вводилил элемент
проверки на извлечение(при извлечении указатели смещаются)
проверки на указатели(то есть остальные случаи)

Добавлено через 22 секунды
Цитата Сообщение от accept Посмотреть сообщение
не, k - это новое имя типа, так как там typedef
я проверил уже на практике
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 23:34
не, это всё - непонятно что
ты когда будешь его юзать, он должен сообщить, если в нём элементы закончились

C++
1
2
3
4
    if (popleft_deck(v))
        cout << v << endl;
    else
        cout << "empty" << endl;
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
16.11.2010, 23:38  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
не, это всё - непонятно что
ты когда будешь его юзать, он должен сообщить, если в нём элементы закончились

C++
1
2
3
4
    if (lpop_deck(v))
        cout << v << endl;
    else
        cout << "empty" << endl;

Не по теме:

в начале разберусь с массивом.ночь длинная.потом с указателями.а потом с хешированием(в открытом проверить почему не вставляет длинные слова в одну ячейку,почему не ищет и почему удаляет элемент перед удаляемым(что с указателем надо глянуть).а потом деревья

0
62 / 62 / 13
Регистрация: 27.01.2009
Сообщений: 279
17.11.2010, 00:15
Цитата Сообщение от accept Посмотреть сообщение
sum += ord(x[i]);
вообще можно ф-цию ord выкинуть и написать так:
sum += (unsigned int) x[i];

Добавлено через 16 минут
Цитата Сообщение от accept Посмотреть сообщение
указатели сами по себе структурами не являются, поэтому для начала нужно создать структуры и потом их адресы записать в массив указателей на структуры и только потом можно будет обращаться к ним
а если я выделяю динамически память для массива структур
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct EduTerm
{
    int examNum;  // Count of Exams
    float totalScore;
};
 
p_edu = (struct EduTerm* ) malloc(termNums * sizeof(struct EduTerm));
 
//потом в цикле с помощью указателя пытаюсь их заполнить
 
for (int i = 0; i < termNums; ++i) {
.... 
    p_edu->examNum = examNum;
    p_edu->totalScore /= examNum;
...
    ++p_edu;
}
 
// в цикле все норм но когда я делаю вывод
for (int i = 0; i < termNums; ++i) {
    printf("Number of Exams in %d\n", p_edu[i].examNum);
    printf("Total score in %d ", p_edu[i].totalScore);
}
первое значение выводит бредовое второе нулевое
а если p_edu-> заменить в цикле на p_edu[i] то все нормально, хотя казалось бы и приращение указателя делаю и поочередно к элементам доступаюсь, в чем может быть проблема?
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
17.11.2010, 01:57  [ТС]

Не по теме:

Представляю что она сделает с тегами форматирования


вот что у меня получилось.предусмотрены все возможные случаи:извлечение,вставка и т.п.
но это не рационально.чертовски не рационально.
и это лишь одна функция.для showfront будет то же самое только место kt kh везде стоять будет.
но теоретически эта функция не будет вызвать зацикливания и т.п. при выводе
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
void showback(deque *d)//ïðîñìîòð ñ êîíöà
{
  if ((d->dt==0) && (d->dh==maxn-1))//åñëè êàê áûëè ó ðàçáòîãî êîðûòà òàê è ñîòàëèñü
  {
     cout<<"It's free"<<endl;
     break;
  }
  else if ((d->dt!=0) && (d->dh==maxn-1))//åñëè ÷òî-òî äåëàëè ñ õâîñòîì
  {
    if (d->a[d->dt%maxn]) //åñëè íå 0
    {
      kt=d->dt;//ïî îïðåäåëåíèþ õâîñò ìåíüøå ãîëîâû íî äîáàâëÿåòñÿ ñ +
      kh=d->dh;
      while (kt!=kh)
      {
        if (kt<0) kt=maxn-1;
        cout<<d->a[kt%maxn]<<" ";
        kt--;
      }
    }//õâîñò íà ýëåìåíòå è ãîëîâà íå èçìåíåíà^^
    else
    {
        kt=d->dt--;//òàê êàê ðàñòåò âñåãäà òî óêàçûâàåò íà 0 åñëè åãî óâåëèëè÷èëè
        kh=d->dh;
        while(kt!=kh)
        {
            if (kt<0) kt=maxn-1;
            cout<<d->a[kt%maxn]<<endl;
            kt--;
        }
    }//õâîñò íå íà ýëåìåíòå è ãîëîâà íå èçìåíåíà^^
  }//õâîñò íå íà÷àëüíûé à ãîëîâà íà÷àëüíàÿ^^
  else if ((d->dt==0) && (d->dh!=maxn-1))//÷òî-òî ñäåëàëè ñ ãîëîâîé
  {
    if (d->a[d->dh%maxn]) //åñëè íå 0
    {
        kh=d->dh;
        kt=d->dt;
        while(kh!=kt)
        {
            if (kt<0) kt=maxn-1;
            cout<<d->a[kt%maxn]<<" ";
            kt--;
        }
    }//ãîëîâà íà ýëåìåíòå à õâîñò íà÷àëüíûé
    else
    {
        kh=d->dh++;//çíà÷èò ãîëîâó óìåíüøèëè
        kt=d->dt;
        while(kt!=kk)
        {
            if (kh<0) kt=maxn-1;
            cout<<d->a[kt%maxn]<<" ";
            kt--;
        }
    }//õâîñò íà÷àëüíûé ãîëîâà íå íà ýëåìåíòå^^
  }
  else
  //îáà íå ðàâíû ïåðâîíà÷àëüíûì çíà÷åíèÿì
  //âîçìîæíû 4 ñëó÷àÿ õâîñò íà ýëåìåíòå è ãîëîâà íà ýëåìåíò èëè ãîëîâà íå íà ýëåìåíòå
  //è õâîñò íå íà ýëåìåíòå à ãîëîâà íà ýëåìåíòå èëè ãîëîâà íå íà ýëåìåíòå\/
  {
    if (d->a[d->dt%maxn])/*íå 0*/
    {
        kt=d->dt;
        if (d->a[d->dh%maxn])/*íå 0*///ò.å íå ïóñòîòà
        {
            kh=d->dh;
            while(kt!=kh)
            {
                if (kt<0) kt=maxn-1;
                cout<<d->a[kt%maxn]<<" ";
                kt--;
            }
        }//õâîñò íà ýëåìåíòå è ãîëîâà íà ýëåìåíòå^^
        else
        {
            kh=d->dh++;
            while(kt!=kh)
            {
                if (kt<0) kt=maxn-1;
                cout<<d->a[kt%maxn]<<" ";
                kt--;
            }
        }
    }//õâîñò íà ýëåìåíòå ãîëîâà íå íà ýëåìåíòå^^
    else
    //åñëè âñå æå íà ïóñòîòó d->dt óêàçûâàåò
    {
        kt=d->dt--;//çíà÷èò óâåëè÷èëè å¸ êîãäà òî
        if (d->a[d->dh%maxn])/*íå 0*///ò.å íå ïóñòîòà
        {
            kh=d->dh;
            while(kt!=kh)
            {
                if (kt<0) kt=maxn-1;
                cout<<d->a[kt%maxn]<<" ";
                kt--;
            }
        }//õâîñò íå íà ýëåìåíòå ãîëîâà íà ýëåìåíòå^^
        else
        {
            kh=d->dh++;
            while(kt!=kh)
            {
                if (kt<0) kt=maxn-1;
                cout<<d->a[kt%maxn]<<" ";
                kt--;
            }
        }//õâîñò íå íà ýëåìåíòå è ãîëîâà íå íà ýëåìåíòå^^
    }//õâîñò íå íà ýëåìåíòå çàâåðøåí
  }
}
Добавлено через 32 секунды
как упростить?

Добавлено через 5 минут
О!придумал способ.надо создать пару переменных которые будут хранить терепершние значения голова и хвотса

Добавлено через 15 минут
хм.наверное было бы проще если бы не один элемент извлекать

Добавлено через 52 минуты
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
void push_back(deque *d,int x)
{
    //çàïèñàòü ýëåìåíò òóäà óêàçûâàåò óêàçàòåëü    
    d->a[(d->dt)%maxn]=x;//çàïèñàòü ýëåìåíò
    d->dt++;//ïåðåìåñòèòü óêàçàòåëü íà íîâóþ ïîçèöèþ
    nowt=d->dt;//óêàçâàåò ëè íà ýëåìåíò èëè íà ïóñòîòó
}
 
void push_front(deque *d,int x)
{
    if (d->dh<0) d->dh=maxn-1;
    d->a[(d->dh)%maxn]=x;//çàïèñàòü â ïîçèöèþ ýëåìåíò 
    d->dh--;//óêàçàòåëü òåïåðü íè íà ÷åì
    nowh=d->dh;//óêàçûâàåò ëè íà ýëåìåíò ëèáî íà ïóñòîòó
}
 
 
 
void show_back(deque *d)//ïðîñìîòð ñ êîíöà
{
  kt=nowt;
  kh=nowh;
  while (kt!=kh)
  {
    if (kt<0) kt=maxn-1;
    cout<<d->a[kt%maxn]<<" ";
    kt--;
  }
}
 
 
void show_front(deque *d)
{
    kt=nowt;
    kh=nowh;
    while (kh!=kt)
    {
     if (kh==maxn) kh=0;
     cout<<d->a[kh%maxn]<<" ";
     kh++;
    }
}
 
 
int pop_back(deque *d)
{
    if (d->dt<0) d->dt=maxn-1;
    nowt=d->dt--;
    return d->a[nowt%maxn];
}
 
int pop_front(deque *d)
{
    if (d->dh==maxn) d->dh=0;
    nowh=d->dh++;//ðàç äàëåå óâåëè÷èòñÿòî íàäî óâåëè÷èòü ñåé÷àñ
    return d->a[(d->dh++)%maxn];
}
вот где-то здесь ошибка
главная пробелма в том как определить указывает ли указатель на элемент или же нет?
pop извлекает то есть элемента в деке уже не будет

Добавлено через 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
int main()
{
        deque k;
        k.dt=0;//óêàçûâàåò íà 0 õâîñò
        k.dh=0;//ïîñëåäíèé ýëåìåíò èäåò ñðàçó çà ïðåäûäóùèì
                
        memset(k.a,0,maxn);//÷òîáû íóëè ïðîñòàâèòü
        
        while(0<1)
        {
            system("cls");
            cout<<"Insert in front----1"<<endl;
            cout<<"Insert into back---2"<<endl;
            cout<<"Show back----------3"<<endl;
            cout<<"Show front---------4"<<endl;
            cout<<"Pop bacj-----------5"<<endl;
            cout<<"pop front----------6"<<endl;
            int el;
            cin>>el;
            switch(el)
            {
                case 1:
                {
                    system("cls");
                    int elem;
                    cin>>elem;
                    push_front(&k,elem);
                    break;
                }
                case 2:
                {
                    system("cls");
                    int elem;
                    cin>>elem;
                    push_back(&k,elem);
                    break;
                }
                case 3:
                {
                    system("cls");
                    show_back(&k);
                    getchar();
                    break;
                }
                case 4:
                {
                    system("cls");
                    show_front(&k);
                    getchar();
                    break;
                }
                case 5:
                {
                    system("cls");
                    cout<<pop_back(&k)<<endl;
                    getchar();
                    break;
                }
                case 6:
                {
                    system("cls");
                    cout<<pop_front(&k)<<endl;
                    getchar();
                    break;
                }
            }
        }    
        return 0;
}
вот главная прога

Добавлено через 6 минут
Цитата Сообщение от accept Посмотреть сообщение
это неправильно
оно же стравнивает строки или опять надо память под указатель выделять?
но почему удаляет тогда неверно?

Добавлено через 2 минуты
Цитата Сообщение от accept Посмотреть сообщение
это неправильно
C++
1
2
3
4
5
char *x1=new char [strlen(x)+1];
    strcpy(x1,x);
    while (cur!=0)//ïîêà íå äîéäåò äî êîíöà 
    {
        if (strcmp(cur->val,x1))//åñëè åñòü
А так?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.11.2010, 01:58
Artishok, Это верно, если строка больше/меньше второй строки.
C++
1
if (strcmp(cur->val,x1))//если есть
Вот если будет
C++
1
 if(!(strcmp(cur->val, x1)))
тогда это будет проверка равенства.
1
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
17.11.2010, 02:08  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
если строка больше/меньше второй строки.
а почему?ведь сравниваются 2 строки или же получается проверка на существование внутри строки строки?

Добавлено через 1 минуту
И поэтому del не работает?

Добавлено через 2 минуты
хм.теперь открытое хеширование начало рабоать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2010, 02:08

Структуры и указатели
Привет форумчане, столкнулся вот с такой вот задачкой на структуры: 1. Описать структуру с именем PRICE, содержащую следующие поля: -...

Структуры и указатели
Задался парой вопросов. Возможно, уже где-то задавались, поэтому прошу прощения заранее. Ниже описана структура для однонаправленного...

Структуры указатели ссылки
Приветик! Начну сразу с кода. struct data { std::string guid; std::vector&lt;float&gt; price_history; };

Указатели на структуры и функции
Я собственно не хотел бы заводить очередную тему на полезность/бесполезность указателей но думаю немного таки приоткрою завесу. Да, они...

Структуры и указатели на структуры
Так ли я сделал? #include &lt;iostream&gt; struct S { int i; }; void f1(S*s1,int k=0){ s1-&gt;i=k;};


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

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru