Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
#1

Нужно перевести из С++ в C строку с выделением памяти в куче - C++

24.12.2012, 23:25. Просмотров 491. Ответов 15
Метки нет (Все метки)


http://www.cyberforum.ru/cpp-beginners/thread1511656.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 23:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нужно перевести из С++ в C строку с выделением памяти в куче (C++):

Указатели (Выделение памяти в куче)
Чтобы создать в динамически распределяемой памяти переменную типа unsigned...

Потоки и выделение памяти в куче
Подскажите, кто знает, какие есть тонкости при выделении памяти в куче (new) в...

Динамическое выделение памяти. Ошибки в куче
Функция чтения данных из ячейки экселя wchar_t *DataInCell(...

Как происходит процесс выделения памяти в стеке и куче
#include <stdio.h> #include <conio.h> #include <windows.h> #include "disc.h"...

Проблема с выделением памяти
Всем привет! Нужна помощь. Создаю класс и при компиляции возникает ошибка. Не...

15
Croessmah
++Ͻ
14146 / 8071 / 1512
Регистрация: 27.09.2012
Сообщений: 19,905
Записей в блоге: 3
Завершенные тесты: 1
24.12.2012, 23:28 #2
Цитата Сообщение от dkg_C Посмотреть сообщение
C++
1
Node *ptr=new Node[len=length()];
C
1
2
3
Node *ptr=malloc(sizeof(Node)*len);//Примерно так
//...
free(ptr);
1
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
24.12.2012, 23:34  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
C
1
2
3
Node *ptr=malloc(sizeof(Node)*len);//Примерно так
//...
free(ptr);
Так-то да, но не выходит.
Посмотрите пожалуйста.
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
#include <Windows.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
 
 
typedef struct node
{
    char surname[255];
    int year;
    int num;
}Node;
 
FILE *f;
 
int menu();
void add(Node&);
void show();
void find_year(int);
int length();
void change(int);
void deleterecord(int);
 
 
int main()
{
    int repeat;
    setlocale(LC_ALL,"");
    do
    {
        system("cls");
        switch(menu())
        {
            case 1:
                f=fopen("1.txt","a");
                Node str;
                addFile(str);
                fclose(f);
                break;
            case 2:
                viewFile();
                break;
            case 3:
                int year;
                puts("Введите год установки для определения количества установленных телефонов");
                scanf("%d",&year);
                runFile(year);
                break;
            case 4:
                show();
                int num;
                puts("Введите номер записи для редактирования");
                scanf("%d",&num);
                editFile(num);
                break;
            case 5:
                show();
                puts("Введите номер записи для удаления");
                scanf("%d",&num);
                deleterecord(num);
                break;
            case 0:
                return 0;
        }
        puts("Продолжить?    (1/0)");
        scanf("%d",&repeat);
    }
    while(repeat);
    return 0;
}
 
void deleterecord(int num)
{
    int len;
    Node *ptr=new Node[len=length()];
    if(!(f=fopen("1.txt","r")))
        puts("Нельзя создать файл.");
    else
    {
 
        for(int i=0;!feof(f);i++)
        fscanf(f,"%s%d%d\n", &ptr[i].surname, &ptr[i].year, &ptr[i].num);
        fclose(f);
        f=fopen("1.txt","w");
        for(int i=0;i<len;i++)
        {
            if(i!=(num-1))
                fprintf(f,"%s %d %d\n",ptr[i].surname,ptr[i].year,ptr[i].num);
        }
        fclose(f);
    }
}
void editFile(int num)
{
    int len;
    Node *ptr=new Node[len=length()];
    if(!(f=fopen("1.txt","r")))
        puts("Файла не существует. Создайте файл");
    else
    {
 
        for(int i=0;!feof(f);i++)
            fscanf(f,"%s%d%d\n",&ptr[i].surname,&ptr[i].year,&ptr[i].num);
        fclose(f);
        puts("Введите фамилию");
        scanf("%s",&ptr[num-1].surname);
        puts("Введите год подключения");
        scanf("%d",&ptr[num-1].year);
        puts("Введите номер");
        scanf("%d",&ptr[num-1].num);
        f=fopen("1.txt","w");
        for(int i=0;i<len;i++)
        fprintf(f,"%s %d %d\n",ptr[i].surname,ptr[i].year,ptr[i].num);
        fclose(f);
    }
}
int length()
{
    int len=0;
    Node tmp;
    if(!(f=fopen("1.txt","r")))
        puts("Файла не существует. Создайте файл");
    else
    while(!feof(f))
    {
        if((fscanf(f,"%s%d%d\n",&tmp.surname,&tmp.year,&tmp.num)))
        len++;
    }
    fclose(f);
    return len;
}
void runFile(int year)
{
    int t=0;
        if(!(f=fopen("1.txt","r")))
            puts("Файла не существует. Создайте файл");
        else
        {
            Node tmp;
            while(!feof(f))
            {
                fscanf(f,"%s%d%d\n",tmp.surname,&tmp.year,&tmp.num);
                if(tmp.year>=year)
                t++;
            }
            printf("%d\n", t);
        }
        fclose(f);
}
 
void viewFile()
{
        if(!(f=fopen("1.txt","r")))
            puts("Файла не существует. Создайте файл");
        else
        {
            Node tmp;
            int i=1;
            while(!feof(f))
            {
                fscanf(f,"%s%d%d\n",tmp.surname,&tmp.year,&tmp.num);
                printf("%d)  %s %d %d\n",i,tmp.surname,tmp.year,tmp.num);
                i++;
            }
        }
        fclose(f);
}
void addFile(Node &ptr)
{
    puts("Введите фамилию");
    scanf("%s",&ptr.surname);
    puts("Введите год подключения");
    scanf("%d",&ptr.year);
    puts("Введите номер");
    scanf("%d",&ptr.num);
    fprintf(f,"%s %d %d\n",ptr.surname,ptr.year,ptr.num);
    
}
int menu()
{   
    int pick;
    puts("1) Добавление записи");
    puts("2) Вывод всех записей на экран из файла");
    puts("4) Определение количества установленных телефонов с вводимого года");
    puts("5) Редактирование выбраной записи");
    puts("6) Удаление выбраной записи");
    puts("0) Выход");
    scanf("%d",&pick);
    return pick;
}
0
Croessmah
++Ͻ
14146 / 8071 / 1512
Регистрация: 27.09.2012
Сообщений: 19,905
Записей в блоге: 3
Завершенные тесты: 1
24.12.2012, 23:35 #4
C++
1
void addFile(Node &ptr)
Ссылки - это механизм C++
0
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
24.12.2012, 23:36  [ТС] #5
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
void addFile(Node &ptr)
Ссылки - это механизм C++
Нам по этому поводу ничего не говорили. Если не говорят, значит можно
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
24.12.2012, 23:39 #6
Цитата Сообщение от Croessmah Посмотреть сообщение
Node *ptr=malloc(sizeof(Node)*len);//Примерно так
Только не забывайте, что malloc вернет void*, а значит нужно самому каставать.
И второе - он просто выделит заданный объем памяти в куче, но конструктор не вызовет.
0
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
24.12.2012, 23:40  [ТС] #7
Цитата Сообщение от go Посмотреть сообщение
Только не забывайте, что malloc вернет void*, а значит нужно самому каставать.
И второе - он просто выделит заданный объем памяти в куче, но конструктор не вызовет.
Компилятор по этому поводу возмущался кстати.
Что сделать то?
0
Croessmah
++Ͻ
14146 / 8071 / 1512
Регистрация: 27.09.2012
Сообщений: 19,905
Записей в блоге: 3
Завершенные тесты: 1
24.12.2012, 23:44 #8
Цитата Сообщение от dkg_C Посмотреть сообщение
Если не говорят, значит можно
Тогда зачем переводить под Си? Имхо, бред получается.

Не хватает прототипов перед main
C++
1
2
3
4
void addFile(Node&);
void viewFile();
void editFile(int);
void runFile(int);
Так же где реализация функции show?

Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
Только не забывайте, что malloc вернет void*, а значит нужно самому каставать.
И второе - он просто выделит заданный объем памяти в куче, но конструктор не вызовет.
Ну так переводим под Си, там же разрешено неявное преобразования void.
А в Си нужно вызывать конструктор для структур?
0
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
24.12.2012, 23:46  [ТС] #9
Сейчас изменю, я убирал ненужное.
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
24.12.2012, 23:49 #10
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну так переводим под Си,
Цитата Сообщение от Croessmah Посмотреть сообщение
Node *ptr=malloc(sizeof(Node)*len);//Примерно так
Тогда нужно слово struct писать.
C
1
struct Node *ptr =  malloc(sizeof Node * len);
Цитата Сообщение от Croessmah Посмотреть сообщение
там же разрешено неявное преобразования void.
Правило хорошего тона))

Цитата Сообщение от Croessmah Посмотреть сообщение
А в Си нужно вызывать конструктор для структур?
Очевидно, что там и ООП нет, но
Тогда нужно слово struct писать.
1
Croessmah
++Ͻ
14146 / 8071 / 1512
Регистрация: 27.09.2012
Сообщений: 19,905
Записей в блоге: 3
Завершенные тесты: 1
24.12.2012, 23:55 #11
Цитата Сообщение от go Посмотреть сообщение
Тогда нужно слово struct писать.
Действительно.
А вообще, тут все смешано - и Си и Си++
0
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
24.12.2012, 23:56  [ТС] #12
Ничего не получилось)
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
#include <Windows.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
 
 
typedef struct node
{
    char surname[255];
    int year;
    int num;
}Node;
 
FILE *f;
 
int menu();
void addFile(Node&);
void viewFile();
void runFile(int);
int length();
void editFile(int);
void deleterecord(int);
 
int main()
{
    int repeat;
    setlocale(LC_ALL,"");
    do
    {
        system("cls");
        switch(menu())
        {
            case 1:
                f=fopen("1.txt","a");
                Node str;
                addFile(str);
                fclose(f);
                break;
            case 2:
                viewFile();
                break;
            case 3:
                int year;
                puts("Введите год установки для определения количества установленных телефонов");
                scanf("%d",&year);
                runFile(year);
                break;
            case 4:
                viewFile();
                int num;
                puts("Введите номер записи для редактирования");
                scanf("%d",&num);
                editFile(num);
                break;
            case 5:
                viewFile();
                puts("Введите номер записи для удаления");
                scanf("%d",&num);
                deleterecord(num);
                break;
            case 0:
                return 0;
        }
        puts("Продолжить?    (1/0)");
        scanf("%d",&repeat);
    }
    while(repeat);
    return 0;
}
 
void deleterecord(int num)
{
    int len;
    struct Node *ptr =  malloc(sizeof(Node) * len);
    if(!(f=fopen("1.txt","r")))
        puts("Нельзя создать файл.");
    else
    {
 
        for(int i=0;!feof(f);i++)
        fscanf(f,"%s%d%d\n", &ptr[i].surname, &ptr[i].year, &ptr[i].num);
        fclose(f);
        f=fopen("1.txt","w");
        for(int i=0;i<len;i++)
        {
            if(i!=(num-1))
                fprintf(f,"%s %d %d\n",ptr[i].surname,ptr[i].year,ptr[i].num);
        }
        fclose(f);
    }
}
void editFile(int num)
{
    int len;
    struct Node *ptr =  malloc(sizeof(Node) * len);
    if(!(f=fopen("1.txt","r")))
        puts("Файла не существует. Создайте файл");
    else
    {
 
        for(int i=0;!feof(f);i++)
            fscanf(f,"%s%d%d\n",&ptr[i].surname,&ptr[i].year,&ptr[i].num);
        fclose(f);
        puts("Введите фамилию");
        scanf("%s",&ptr[num-1].surname);
        puts("Введите год подключения");
        scanf("%d",&ptr[num-1].year);
        puts("Введите номер");
        scanf("%d",&ptr[num-1].num);
        f=fopen("1.txt","w");
        for(int i=0;i<len;i++)
        fprintf(f,"%s %d %d\n",ptr[i].surname,ptr[i].year,ptr[i].num);
        fclose(f);
    }
}
int length()
{
    int len=0;
    Node tmp;
    if(!(f=fopen("1.txt","r")))
        puts("Файла не существует. Создайте файл");
    else
    while(!feof(f))
    {
        if((fscanf(f,"%s%d%d\n",&tmp.surname,&tmp.year,&tmp.num)))
        len++;
    }
    fclose(f);
    return len;
}
void runFile(int year)
{
    int t=0;
        if(!(f=fopen("1.txt","r")))
            puts("Файла не существует. Создайте файл");
        else
        {
            Node tmp;
            while(!feof(f))
            {
                fscanf(f,"%s%d%d\n",tmp.surname,&tmp.year,&tmp.num);
                if(tmp.year>=year)
                t++;
            }
            printf("%d\n", t);
        }
        fclose(f);
}
 
void viewFile()
{
        if(!(f=fopen("1.txt","r")))
            puts("Файла не существует. Создайте файл");
        else
        {
            Node tmp;
            int i=1;
            while(!feof(f))
            {
                fscanf(f,"%s%d%d\n",tmp.surname,&tmp.year,&tmp.num);
                printf("%d)  %s %d %d\n",i,tmp.surname,tmp.year,tmp.num);
                i++;
            }
        }
        fclose(f);
}
void addFile(Node &ptr)
{
    puts("Введите фамилию");
    scanf("%s",&ptr.surname);
    puts("Введите год подключения");
    scanf("%d",&ptr.year);
    puts("Введите номер");
    scanf("%d",&ptr.num);
    fprintf(f,"%s %d %d\n",ptr.surname,ptr.year,ptr.num);
    
}
int menu()
{   
    int pick;
    puts("1) Добавление записи");
    puts("2) Вывод всех записей на экран из файла");
    puts("4) Определение количества установленных телефонов с вводимого года");
    puts("5) Редактирование выбраной записи");
    puts("6) Удаление выбраной записи");
    puts("0) Выход");
    scanf("%d",&pick);
    return pick;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,234
25.12.2012, 00:05 #13
dkg_C, Что не получилось? Где не получилось? Я не вижу текста ошибок.
Нужно на С - замените расширение файла на .c На ссылки оно само буркнет.
Не вижу приведения памяти, выделенной malloc-ом.
0
dkg_C
8 / 8 / 6
Регистрация: 17.09.2012
Сообщений: 144
25.12.2012, 00:08  [ТС] #14
В общем, плюну на этот бред.
Сделаю на крестах.
0
go
Эксперт С++
3636 / 1368 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
25.12.2012, 00:20 #15
Цитата Сообщение от Croessmah Посмотреть сообщение
Действительно.
если используется typedef, то этого делать не нужно
Цитата Сообщение от dkg_C Посмотреть сообщение
typedef struct node
Но в первом посте ТС об этом не сказано ни слова. Поэтому мы с вами об этом даже не догадывались.
0
Croessmah
++Ͻ
14146 / 8071 / 1512
Регистрация: 27.09.2012
Сообщений: 19,905
Записей в блоге: 3
Завершенные тесты: 1
25.12.2012, 00:26 #16
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
#include <Windows.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
 
 
typedef struct node
{
    char surname[255];
    int year;
    int num;
}Node;
 
FILE *f;
 
int menu();
void addFile(Node&);
void viewFile();
void runFile(int);
int length();
void editFile(int);
void deleterecord(int);
 
int main()
{
    int repeat;
    setlocale(LC_ALL,"");
    do
    {
        system("cls");
        switch(menu())
        {
            case 1:
                f=fopen("1.txt","a");
                Node str;
                addFile(str);
                fclose(f);
                break;
            case 2:
                viewFile();
                break;
            case 3:
                int year;
                puts("Введите год установки для определения количества установленных телефонов");
                scanf("%d",&year);
                runFile(year);
                break;
            case 4:
                viewFile();
                int num;
                puts("Введите номер записи для редактирования");
                scanf("%d",&num);
                editFile(num);
                break;
            case 5:
                viewFile();
                puts("Введите номер записи для удаления");
                scanf("%d",&num);
                deleterecord(num);
                break;
            case 0:
                return 0;
        }
        puts("Продолжить?    (1/0)");
        scanf("%d",&repeat);
    }
    while(repeat);
    return 0;
}
 
void deleterecord(int num)
{
    int len;
    Node *ptr =  (Node*)malloc(sizeof(Node) * len);
    if(!(f=fopen("1.txt","r")))
        puts("Нельзя создать файл.");
    else
    {
 
        for(int i=0;!feof(f);i++)
        fscanf(f,"%s%d%d\n", &ptr[i].surname, &ptr[i].year, &ptr[i].num);
        fclose(f);
        f=fopen("1.txt","w");
        for(int i=0;i<len;i++)
        {
            if(i!=(num-1))
                fprintf(f,"%s %d %d\n",ptr[i].surname,ptr[i].year,ptr[i].num);
        }
        fclose(f);
    }
}
void editFile(int num)
{
    int len;
    Node *ptr =  (Node*)malloc(sizeof(Node) * len);
    if(!(f=fopen("1.txt","r")))
        puts("Файла не существует. Создайте файл");
    else
    {
 
        for(int i=0;!feof(f);i++)
            fscanf(f,"%s%d%d\n",&ptr[i].surname,&ptr[i].year,&ptr[i].num);
        fclose(f);
        puts("Введите фамилию");
        scanf("%s",&ptr[num-1].surname);
        puts("Введите год подключения");
        scanf("%d",&ptr[num-1].year);
        puts("Введите номер");
        scanf("%d",&ptr[num-1].num);
        f=fopen("1.txt","w");
        for(int i=0;i<len;i++)
        fprintf(f,"%s %d %d\n",ptr[i].surname,ptr[i].year,ptr[i].num);
        fclose(f);
    }
}
int length()
{
    int len=0;
    Node tmp;
    if(!(f=fopen("1.txt","r")))
        puts("Файла не существует. Создайте файл");
    else
    while(!feof(f))
    {
        if((fscanf(f,"%s%d%d\n",&tmp.surname,&tmp.year,&tmp.num)))
        len++;
    }
    fclose(f);
    return len;
}
void runFile(int year)
{
    int t=0;
        if(!(f=fopen("1.txt","r")))
            puts("Файла не существует. Создайте файл");
        else
        {
            Node tmp;
            while(!feof(f))
            {
                fscanf(f,"%s%d%d\n",tmp.surname,&tmp.year,&tmp.num);
                if(tmp.year>=year)
                t++;
            }
            printf("%d\n", t);
        }
        fclose(f);
}
 
void viewFile()
{
        if(!(f=fopen("1.txt","r")))
            puts("Файла не существует. Создайте файл");
        else
        {
            Node tmp;
            int i=1;
            while(!feof(f))
            {
                fscanf(f,"%s%d%d\n",tmp.surname,&tmp.year,&tmp.num);
                printf("%d)  %s %d %d\n",i,tmp.surname,tmp.year,tmp.num);
                i++;
            }
        }
        fclose(f);
}
void addFile(Node &ptr)
{
    puts("Введите фамилию");
    scanf("%s",&ptr.surname);
    puts("Введите год подключения");
    scanf("%d",&ptr.year);
    puts("Введите номер");
    scanf("%d",&ptr.num);
    fprintf(f,"%s %d %d\n",ptr.surname,ptr.year,ptr.num);
    
}
int menu()
{   
    int pick;
    puts("1) Добавление записи");
    puts("2) Вывод всех записей на экран из файла");
    puts("4) Определение количества установленных телефонов с вводимого года");
    puts("5) Редактирование выбраной записи");
    puts("6) Удаление выбраной записи");
    puts("0) Выход");
    scanf("%d",&pick);
    return pick;
}
1
25.12.2012, 00:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 00:26
Привет! Вот еще темы с решениями:

ошибка с выделением памяти
выдает ошибку в выделении памяти. никто не подскажет почему? если что -задача...

Конструктор с выделением памяти
Среди всех данных есть указатель, память для которого выделяется в...

Проблемы с выделением памяти
Здравствуйте. Есть контейнер QList &lt;Node *&gt; В Node свой QList &lt;Node *&gt;. ...

Ошибка в коде с выделением памяти
Не могу понять, в чем проблема? double** FuzzySet::operator&amp;&amp;(FuzzySet*...


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

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

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