Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/23: Рейтинг темы: голосов - 23, средняя оценка - 4.52
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62

Почему не выполняет повторно функцию addCont?

04.04.2020, 17:31. Показов 5458. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите разобрать. почти уверен, что неправильно выделена память в конструкторе (в нем через new, а в мейне пользуюсь realloc`ом). и почему в цикле do/while не заполняет массив повторно?

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
#define _CRT_SECURE_NO_WARNINGS // директива использование функция со строками
#include<iostream>
#include"PhoneBook.h"
#include<Windows.h> //вывод кириллицы
#define _CRTDBG_MAP_ALLOC // проверка удаления памяти
#include <cstdlib>  // проверка удаления памяти
#include <crtdbg.h> // проверка удаления памяти
#include <stdlib.h> // библиотека для system("cls")
 
using namespace std;
 
char re(char*, char*, char*, char*&);
void addNumOfPhone(long&, long&, long long&);
void addCont(PhoneBook*& arr, int& n, char* rez, long homeNum, long workNum, long long mobNum);
void print(PhoneBook* arr, int n);
 
int main()
{
    setlocale(0, "");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int sizeOfArr = 128;
    char* surname = new char[sizeOfArr];
    char* name = new char[sizeOfArr];
    char* lastname = new char[sizeOfArr];
    char* rez = new char[sizeOfArr];
 
    cout << "Введите ФИО" << "\n";
    cout << "Фамилия: ";
    cin >> surname;
    cout << "Имя: ";
    cin >> name;
    cout << "Отчество: ";
    cin >> lastname;
    re(surname, name, lastname, rez);
    delete[]surname;
    delete[]name;
    delete[]lastname;
    long homeNum;           
    long workNum;
    long long mobNum;
    addNumOfPhone(homeNum, workNum, mobNum);
    int sizeofPhoneBook = 0;
    PhoneBook* obj;
    obj = NULL;
    string daNet;
    do
    {
        addCont(obj, sizeofPhoneBook, rez, homeNum, workNum, mobNum);
        system("cls");
        cout << "Хотите добавить еще абонента? (да/нет)\n";
        cin >> daNet;
    } while (daNet != "нет");
 
    print(obj, sizeofPhoneBook);
    delete[]rez;
    free(obj);
    _CrtDumpMemoryLeaks();
    return 0;
}
 
char re(char* a, char* b, char* c, char*& rez) // создание общей строки для ФИО
{
    rez = new char[strlen(a) + strlen(b) + strlen(c) + 3];
    strcat(strcat(strcat(strcat(strcpy(rez, a), " "), b), " "), c);
    return *rez;
}
 
void addNumOfPhone(long& homeNum, long& workNum, long long& mobNum)
{
    cout << "Введите домашний номер телефона: ";
    cin >> homeNum;
    cout << "Введите рабочий номер телефона: ";
    cin >> workNum;
    cout << "Введите мобильный номер телефона: +";
    cin >> mobNum;
}
 
void addCont(PhoneBook*& arr, int& n, char* rez, long homeNum, long workNum, long long mobNum)  //добавляем элемент в массив
{
    arr = (PhoneBook*)realloc(arr, (n + 1) * sizeof(PhoneBook));
    arr[n].setAdd(rez, homeNum, workNum, mobNum);
    n++;
}
 
void print(PhoneBook* arr, int n)
{
    for (int i = 0; i < n; i++)
        arr[i].getPrint();
}
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
#define _CRT_SECURE_NO_WARNINGS
#include "PhoneBook.h"
#include<iostream>
#include <cstring>
 
using namespace std;
 
PhoneBook::PhoneBook()  // пустой конструктор
{
    *fio = 0;
    homeNum = 0;
    workNum = 0;
    mobNum = 0;
    size = 0;
    contact = NULL;
}
 
PhoneBook::PhoneBook(int size, char*& fio, long& homeNum, long& workNum, long long& mobNum)
{
    this->size = size;
    contact = new PhoneBook[this->size];
    contact[size].setAdd(fio, homeNum, workNum, mobNum);
}
 
void PhoneBook::setAdd(char*& fio, long& homeNum, long& workNum, long long& mobNum)
{
    this->fio = new char[strlen(fio) + 1];
    strcpy(this->fio, fio);
    this->homeNum = homeNum;
    this->workNum = workNum;
    this->mobNum = mobNum;
}
 
void PhoneBook::getPrint()
{
    cout << "ФИО: " << fio;
    cout << "\nДомашний телефон: " << homeNum;
    cout << "\nРабочий телефон: " << workNum;
    cout << "\nМобильный телефон: +" << mobNum;
}
 
PhoneBook::~PhoneBook()
{
    delete[] fio;
    delete[] contact;
    cout << "\n";
}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
class PhoneBook
{
private:
    char* fio;
    PhoneBook* contact;
    long homeNum;
    long workNum;
    long long mobNum;
    int size;
public:
    PhoneBook();
    PhoneBook(int, char*&, long&, long&, long long&);
    void setAdd(char*&, long&, long&, long long&);
    void getPrint();
 
    ~PhoneBook();
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2020, 17:31
Ответы с готовыми решениями:

Почему строка из файла считывается повторно?
Здравствуйте! Скажите, пожалуйста, почему последняя строка из файла может считываться повторно? Например: ...

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

Почему PDO не выполняет запрос?
Мой код ?php set_time_limit(100); session_start(); require&quot;conect.php&quot;; $pdo-&gt;setAttribute(PDO::ATTR_ERRMODE,...

64
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
05.04.2020, 11:59  [ТС]
Студворк — интернет-сервис помощи студентам
ять! голова два уха. ппц!!! ну 2 дня не отрываясь, видимо надо отдохнуть)). ОГРОМНОЕ Вам спасибо!!! могу я к вам обратиться, еще чет дальше не получится? а, и еще вопрос. я не совсем понял, зачем нужен был перегруженный оператор присваивания.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
05.04.2020, 12:03
Цитата Сообщение от ttshkalol Посмотреть сообщение
а, и еще вопрос. я не совсем понял, зачем нужен был перегруженный оператор присваивания
Потому что иначе сгенерируется оператор по-умолчанию, а так как у тебя в класс есть динамический массив - fio, он будет работать неправильно и приводить к падению. Конструктор копирования нужен по той же причине.
0
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
05.04.2020, 12:05  [ТС]
т.е оператор нужен всегда, если есть динамический массив? если бы, допустим, fio не было бы я бы мг не писать оператор, а обойтись только конструктором копирования?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
05.04.2020, 12:07
Лучший ответ Сообщение было отмечено ttshkalol как решение

Решение

Цитата Сообщение от ttshkalol Посмотреть сообщение
если бы, допустим, fio не было бы я бы мг не писать оператор, а обойтись только конструктором копирования?
Конструктор тогда тоже можно было бы не делать
1
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
05.04.2020, 12:10  [ТС]
еще раз вам большое спасибо, что помогли разобраться! довольный, как слон сижу)))))
0
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
06.04.2020, 15:37  [ТС]
Добрый день. подскажите, пожалуйста, как в пределах этой задачи, организовать поиск абонента по ФИО?
вот мои мысли (были, но понял что не прав):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void search(PhoneBook* arr, int n, char* rez)  //n количество введенных абонентов. rez - введенное ФИО
{
    const int sizeOfArr = 128;
    char surname[sizeOfArr];
    char name[sizeOfArr];
    char lastname[sizeOfArr];
    char rez1[sizeOfArr];
    fio(surname, name, lastname); //функция ввода ФИО построчно (которое будем искать)
    re(surname, name, lastname, rez1);  //функция преобразования ФИО в одну строку
    for (int i = 0; i < n; i++)
        if (arr[i].setSearchFio(rez) == rez1)
            arr[i].getPrint;
}
по проблема даже не в том что строка
C++
1
if (arr[i].setSearchFio(rez) == rez1)
невозможно (выдает ошибку) а проблема в том, что он же ж не поймет что ему в итоге вывести на экран.
я в начале думал, что можно сделать, как поиск в структуре, но ведь нет. или я не прав?

думаю, что надо еще делать перегрузку оператора==, но опять же не понимаю как, ведь он принимает два объекта.

Добавлено через 53 минуты
вот последняя версия. но почему-то не сравнивает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void search(PhoneBook* arr, int n, char* rez)
{
    const int sizeOfArr = 128;
    char surname[sizeOfArr];
    char name[sizeOfArr];
    char lastname[sizeOfArr];
    char rez1[sizeOfArr];
    fio(surname, name, lastname);
    re(surname, name, lastname, rez1);
    PhoneBook arr2;
    arr2.setSearchFio(rez);
    for (int i = 0; i < n; i++)
    {
        if (arr2 == arr[i])
        {
            arr[i].getPrint();
        }
    }
}
C++
1
2
3
4
bool operator== (const PhoneBook& obj, const PhoneBook& obj2)
{
    return (obj.fio == obj2.fio);
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
06.04.2020, 15:40
Лучший ответ Сообщение было отмечено ttshkalol как решение

Решение

Цитата Сообщение от ttshkalol Посмотреть сообщение
вот последняя версия. но почему-то не сравнивает
return strcmp(obj.fio, obj2.fio) == 0;
1
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
06.04.2020, 18:38  [ТС]
делаю функцию удаления абонента. мысли были такими: создать массив объектов и скопировать с него уже существующие абоненты. а потом по ФИО удалять и смещать массив.
но вот в чем вопрос:
Цитата Сообщение от ttshkalol Посмотреть сообщение
void addCont(PhoneBook*& arr, int& n, char* rez, long homeNum, long workNum, long long mobNum)  //добавляем элемент в массив
{
    PhoneBook* arr2 = new PhoneBook[n + 1];
    arr2[n].setAdd(rez, homeNum, workNum, mobNum);
    move(arr, arr + n, arr2);
    delete[] arr;
    arr = arr2;
    n++;
}
не понимаю вот этого:
move(arr, arr + n, arr2);
    delete[] arr;
    arr = arr2;

про функцию move не могу найти вразумительной инфы. и почему мы вначале делаем delelte а потом присвоение??
0
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
06.04.2020, 19:32
Лучший ответ Сообщение было отмечено ttshkalol как решение

Решение

Цитата Сообщение от ttshkalol Посмотреть сообщение
про функцию move не могу найти вразумительной инфы
https://ru.cppreference.com/w/cpp/algorithm/move

Цитата Сообщение от ttshkalol Посмотреть сообщение
почему мы вначале делаем delelte а потом присвоение??
Чтобы заменить указатель на новый (arr2), память, на которую указывает старый (arr), нужно сначала освободить. Иначе будет утечка памяти.
1
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
06.04.2020, 23:06  [ТС]
где ошибка?
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
void deleteAbon(PhoneBook* arr, int n)
{
    const int sizeOfArr = 128;
    char surname[sizeOfArr];
    char name[sizeOfArr];
    char lastname[sizeOfArr];
    char rez1[sizeOfArr];
    fio(surname, name, lastname);
    re(surname, name, lastname, rez1);
 
    PhoneBook arr2;
    arr2.setSearchFio(rez1);
    
    PhoneBook* arr3 = new PhoneBook[n];
    
    
    for (int i = 0; i < n; i++)
    {
        if (arr[i] == arr2)
        {
            for (int j = 0; j < n - 1; j++)
            {
                arr3[i] = arr[i + 1];
                i++;
            }
        }
    }
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
07.04.2020, 09:49
Цитата Сообщение от ttshkalol Посмотреть сообщение
где ошибка?
А что ты здесь пытаешься сделать?
0
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
07.04.2020, 18:31  [ТС]
пытаюсь удалить один элемент массива. честно говоря, я не совсем понимаю, как работает механизм создания массива класса.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
07.04.2020, 18:35
Цитата Сообщение от ttshkalol Посмотреть сообщение
пытаюсь удалить один элемент массива. честно говоря, я не совсем понимаю, как работает механизм создания массива класса.
При удалении не надо ничего создавать. Надо сместить остаток массива вперёд, к началу, и уменьшить размер на один.
1
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
07.04.2020, 19:04  [ТС]
мда..... все, оказывается было гораздо проще... спасибо еще раз огромное, все получилось!
0
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
12.04.2020, 20:32  [ТС]
Добрый день. помогите, пожалуйста. не получается вывести на экран
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
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include <stdlib.h>
using namespace std;
 
class Human
{
    char* fio;
public:
    Human():fio(nullptr) {};
 
    Human(const char* rez)
    {
        fio = new char[strlen(rez) + 1];
        strcpy(fio, rez);
    }
 
    char setInputFio()
    {
        const int sizeOfArr = 128;
        char surname[sizeOfArr];
        char name[sizeOfArr];
        char lastname[sizeOfArr];
        char rez[sizeOfArr];
        cout << "\nВведите ФИО" << "\n";
        cout << "Фамилия: ";
        cin >> surname;
        cout << "Имя: ";
        cin >> name;
        cout << "Отчество: ";
        cin >> lastname;
        strcat(strcat(strcat(strcat(strcpy(rez, surname), " "), name), " "), lastname);
        return *rez;
    }
    void getShow()
    {
        cout << fio <<"\n";
    }
    ~Human()
    {
        delete[] fio;
        fio = NULL;
    }
};
 
class Flat
{
    Human* human;
public:
    Flat()
    {
        human = nullptr;
    };
    
    Flat(int size)
    {
        human = new Human[size];
        for (int i = 0; i < size; i++) {
            human[i].setInputFio();
            size++;
        }
    }
 
    void setAddHum(int size)
    {
        human = new Human[size];
        for (int i = 0; i < size; i++) {
            human[i].setInputFio();
        }
    }
 
    void showFlat(Human& obj, int size)
    {
        for (int i = 0; i < 1; i++)
        {
            cout << "В кваритире проживает " << size << " человек:\n";
            for (int j = 0; j < size; j++) {
                cout << "\t\t\t" << j + 1 << " челове: ";
                obj.getShow();              
            }
        }
    }
    ~Flat()
    {
        delete[] human;
        human = NULL;
    }
};
 
class House
{
    int house;
    Flat flat[3];
    int size1;
public:
    House(int x)
    {
        house = x;
        size1 = NULL;
    }
    
    void setAddFlat()
    {
        for (size_t i = 0; i < 3; i++) {
            cout << "\nКвартира №:" << i + 1;
            cout << "\nВведите количество проживающих: ";
            cin >> size1;
            flat[i].setAddHum(size1);
        }
    }
    void getPrint(Flat x, Human y)
    {
        cout << "Дом №" << house<<"\n";
        for (int i = 0; i < 3; i++)
        {
            x.showFlat(y, size1);
        }
    }
};
 
int main()
{
    setlocale(0, "");
    int numberHouse;
    cout << "Введите номер дома: ";
    cin >> numberHouse;
    Flat kv;
    Human chel;
    House dom(numberHouse);
    char menu;
    
    do
    {
        cout << "1. Ввод данный\n";
        cout << "2. Вывод на экран\n";
        cout << "3. Выход\n";
        cin >> menu;
        switch (menu)
        {
        case'1': {
            dom.setAddFlat();
            system("cls");
            break;
        }
        case'2': {
            dom.getPrint(kv, chel);
            break;
        }
        }
    } while (menu!='3');
    
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
12.04.2020, 20:35
Цитата Сообщение от ttshkalol Посмотреть сообщение
Добрый день. помогите, пожалуйста. не получается вывести на экран
В смысле? А что должно выводится?

Добавлено через 10 секунд
Цитата Сообщение от ttshkalol Посмотреть сообщение
Добрый день. помогите, пожалуйста. не получается вывести на экран
В смысле? А что должно выводится?
0
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
12.04.2020, 20:38  [ТС]
должно вывестись примерно следующее:
дом№ 5
квартира №1:
в квартире проживает 2 человека:
1 человек: ФИО
2 человек: ФИО
и тд
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
12.04.2020, 20:46
Цитата Сообщение от ttshkalol Посмотреть сообщение
должно вывестись примерно следующее:
Потому что надо вот так сделать
Цитата Сообщение от ttshkalol Посмотреть сообщение
class Flat
{
    Human* human;
size_t m_count = 0;

public:
...................
Flat(int size)
: m_count(size)
{
.................................
void showFlat()
............................
0
1 / 1 / 0
Регистрация: 11.01.2020
Сообщений: 62
12.04.2020, 20:59  [ТС]
так он тогда ругается. как он поймет сколько раз надо показывать людей?
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
class Flat
{
    Human* human;
    size_t m_count = 0;
public:
    Flat()
    {
        human = nullptr;
    };
 
    Flat(int size) : m_count(size)
    {
        human = new Human[size];
        for (int i = 0; i < size; i++) {
            human[i].setInputFio();
            size++;
        }
    }
 
    void setAddHum(int size)
    {
        human = new Human[size];
        for (int i = 0; i < size; i++) {
            human[i].setInputFio();
        }
    }
 
    void showFlat()
    {
        for (int i = 0; i < 1; i++)
        {
            cout << "В квартире проживает " << m_count << " человек:\n";
            for (int j = 0; j < m_count; j++) {
                cout << "\t\t\t" << j + 1 << " человек: ";
                obj.getShow();
            }
        }
    }
    ~Flat()
    {
        delete[] human;
        human = NULL;
    }
};
на 35 строке он же ж не понимает
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
12.04.2020, 21:02
Цитата Сообщение от ttshkalol Посмотреть сообщение
на 35 строке он же ж не понимает
C++
1
2
3
4
5
6
void showFlat()
{
    cout << "В квартире проживает " << m_count << " человек:\n";
    for (int j = 0; j < m_count; j++) 
        human[j].getShow();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2020, 21:02

Почему spring security не выполняет своих обязятельств?
Здравствуйте. Помогите, пожалуйста, решить следующую проблему. Пытаюсь поднять spring security Его конфигурация ...

Не понимаю почему не выполняет проверку на квадратный корень
условие задачи: Вычислите sqrt(x−sqrt(y)), если x и y вводит пользователь. Перед вычислением выполнить проверку на существование квадратных...

Ф5 выполняет функцию кнопки sabmit
При обновлении страницы САМА нажимается кнопка Submit(вычисление и обновление БД). Подскажите новичку, как сделать так, что бы на странице...

Нить не выполняет свою функцию
Имеется следующий код: public class Solution { String name1 = &quot;Оля&quot;; String name2 = &quot;Лена&quot;; public static void...

Какую функцию выполняет оператор **
Наткнулся на оператор ** в статье про арифметические операции. Вот что там написано: To exponentiate two types, the ** exponentiation...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла 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