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

Удалить студентов, у которых по всем предметам 2

29.03.2016, 00:20. Показов 619. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно удалить студентов, у которых по всем предметам 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
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
#include <iostream>
#include <fstream>
#include <locale.h> /* Для русского языка */
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    fstream file("structure.txt");
    if (!file.is_open()) {
        file.open("structure.txt", fstream::out);
        return 0;
    }
 
    const int n = 7;
    int i, j, im;
    struct university
    {
        char fam[20];
        char name[20];
        char otch[20];
        char gender[10];
        char facul[10];
        int kurs;
        int group;
        int mark[5];
        char city[20];
    };
 
    university students[n], study1;
    cout << "До сортировки: " << endl;
    for (int i = 0; i < n; i++)
    {
        file >> students[i].fam;
        file >> students[i].name;
        file >> students[i].otch;
        file >> students[i].gender;
        file >> students[i].facul;
        file >> students[i].kurs;
        file >> students[i].group;
        file >> students[i].mark[0];
        file >> students[i].mark[1];
        file >> students[i].mark[2];
        file >> students[i].mark[3];
        file >> students[i].mark[4];
        file >> students[i].city;
        cout << "Фамилия: " << students[i].fam << endl;
        cout << "Имя: " << students[i].name << endl;
        cout << "Отчество: " << students[i].otch << endl;
        cout << "Пол: " << students[i].gender << endl;
        cout << "Факультет: " << students[i].facul << endl;
        cout << "Курс: " << students[i].kurs << endl;
        cout << "Группа: " << students[i].group << endl;
        cout << "Оценка по программированию: " << students[i].mark[0] << endl;
        cout << "Оценка по литературе: " << students[i].mark[1] << endl;
        cout << "Оценка по математике: " << students[i].mark[2] << endl;
        cout << "Оценка по физике: " << students[i].mark[3] << endl;
        cout << "Оценка по теории алгоритмов: " << students[i].mark[4] << endl;
        cout << "Город: " << students[i].city << endl;
        cout << endl;
    }
 
    for (i = 0; i < n - 1; i++)
    {
        im = i;
        for (j = i + 1; j < n; j++)
        {
            if (students[i].mark[j] == '2')
                delete students[i].fam;
            delete students[i].name;
            delete students[i].otch;
            delete students[i].gender;
            delete students[i].facul;
            delete students[i].kurs;
            delete students[i].group;
            delete students[i].mark[0];
            delete students[i].mark[1];
            delete students[i].mark[2];
            delete students[i].mark[3];
            delete students[i].mark[4];
            delete students[i].city;
        }
    }
 
    cout << "После сортировки: " << endl;
    cout << endl;
 
    for (i = 0; i < n; i++)
    {
            cout << "Фамилия: " << students[i].fam << endl;
            cout << "Имя: " << students[i].name << endl;
            cout << "Отчество: " << students[i].otch << endl;
            cout << "Пол: " << students[i].gender << endl;
            cout << "Факультет: " << students[i].facul << endl;
            cout << "Курс: " << students[i].kurs << endl;
            cout << "Группа: " << students[i].group << endl;
            cout << "Оценка по программированию: " << students[i].mark[0] << endl;
            cout << "Оценка по литературе: " << students[i].mark[1] << endl;
            cout << "Оценка по математике: " << students[i].mark[2] << endl;
            cout << "Оценка по физике: " << students[i].mark[3] << endl;
            cout << "Оценка по теории алгоритмов: " << students[i].mark[4] << endl;
            cout << "Город: " << students[i].city << endl;
            cout << endl;
    }
 
    file.close();
    system("pause");
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2016, 00:20
Ответы с готовыми решениями:

Определите средний балл каждого студента по всем предметам
Определите средний балл каждого студента по всем предметам. Выведите три действительных числа: средний балл всех студентов по возрастанию.

Какое количество отличных оценок получено студентами по всем предметам
Пожалуйста помогите! Программа работает, но только для одного студента. Как сделать для нескольких студентов? Задание: Опишите запись...

Вывести фамилии студентов, не аттестованных по тем предметам
1. Даны сведения о результатах аттестации, что и в предидущей задаче. вывести фамилии студентов не аттестованных по тем предметам. 2....

6
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
29.03.2016, 02:15
Через delete нужно (и можно) удалять только то, что создано через new. Поля university через new не создавались, а потому 71-83 строки работать не будут.
0
1 / 1 / 0
Регистрация: 16.03.2013
Сообщений: 65
29.03.2016, 14:17  [ТС]
Цитата Сообщение от Renji Посмотреть сообщение
Через delete нужно (и можно) удалять только то, что создано через new. Поля university через new не создавались, а потому 71-83 строки работать не будут.
обнуление не работает, пишет, что "выражение должно быть допустимым для изменения левосторонним значением"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    for (i = 0; i < n - 1; i++)
    {
        im = i;
        for (j = i + 1; j < n; j++)
        {
            if (students[i].mark[j] == '2')
            students[i].fam = 0;
            students[i].name = 0;
            students[i].otch = 0;
            students[i].gender = 0;
            students[i].facul = 0;
            students[i].kurs = 0;
            students[i].group = 0;
            students[i].mark[0] = 0;
            students[i].mark[1] = 0;
            students[i].mark[2] = 0;
            students[i].mark[3] = 0;
            students[i].mark[4] = 0;
            students[i].city = 0;
        }
    }
Добавлено через 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
#include <iostream>
#include <fstream>
#include <locale.h> /* Для русского языка */
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    fstream file("structure.txt");
    if (!file.is_open()) {
        file.open("structure.txt", fstream::out);
        return 0;
    }
 
    const int n = 7;
    int i, j, im;
    struct university
    {
        char fam[20];
        char name[20];
        char otch[20];
        char gender[10];
        char facul[10];
        int kurs;
        int group;
        int mark[5];
        char city[20];
    };
    
    void addElements(university**, int);
    university** students = new university*[n];
    for (int i = 0; i<n; i++)
        students[i] = new university;
 
 
    cout << "До сортировки: " << endl;
    for (int i = 0; i < n; i++)
    {
        file >> students[i]->fam;
        file >> students[i]->name;
        file >> students[i]->otch;
        file >> students[i]->gender;
        file >> students[i]->facul;
        file >> students[i]->kurs;
        file >> students[i]->group;
        file >> students[i]->mark[0];
        file >> students[i]->mark[1];
        file >> students[i]->mark[2];
        file >> students[i]->mark[3];
        file >> students[i]->mark[4];
        file >> students[i]->city;
        cout << "Фамилия: " << students[i]->fam << endl;
        cout << "Имя: " << students[i]->name << endl;
        cout << "Отчество: " << students[i]->otch << endl;
        cout << "Пол: " << students[i]->gender << endl;
        cout << "Факультет: " << students[i]->facul << endl;
        cout << "Курс: " << students[i]->kurs << endl;
        cout << "Группа: " << students[i]->group << endl;
        cout << "Оценка по программированию: " << students[i]->mark[0] << endl;
        cout << "Оценка по литературе: " << students[i]->mark[1] << endl;
        cout << "Оценка по математике: " << students[i]->mark[2] << endl;
        cout << "Оценка по физике: " << students[i]->mark[3] << endl;
        cout << "Оценка по теории алгоритмов: " << students[i]->mark[4] << endl;
        cout << "Город: " << students[i]->city << endl;
        cout << endl;
    }
 
    for (i = 0; i < n - 1; i++)
    {
        im = i;
        for (j = 0; j < n; j++)
        {
            if (students[i]->mark[j] == '2')
            delete students[i];
        }
    }
 
    cout << "После сортировки: " << endl;
    cout << endl;
 
    for (i = 0; i < n; i++)
    {
            cout << "Фамилия: " << students[i]->fam << endl;
            cout << "Имя: " << students[i]->name << endl;
            cout << "Отчество: " << students[i]->otch << endl;
            cout << "Пол: " << students[i]->gender << endl;
            cout << "Факультет: " << students[i]->facul << endl;
            cout << "Курс: " << students[i]->kurs << endl;
            cout << "Группа: " << students[i]->group << endl;
            cout << "Оценка по программированию: " << students[i]->mark[0] << endl;
            cout << "Оценка по литературе: " << students[i]->mark[1] << endl;
            cout << "Оценка по математике: " << students[i]->mark[2] << endl;
            cout << "Оценка по физике: " << students[i]->mark[3] << endl;
            cout << "Оценка по теории алгоритмов: " << students[i]->mark[4] << endl;
            cout << "Город: " << students[i]->city << endl;
            cout << endl;
    }
 
    file.close();
    system("pause");
 
    return 0;
}
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
29.03.2016, 14:45
Допустим:
C++
1
2
3
4
5
6
struct blabla
{
char fio;
int lolol;
}massiv[20];
struct blabla deleted;
Затем, если нужно удалить n-ую запись
C++
1
2
cin>>n;
massiv[n-1]=deleted;
Добавлено через 6 минут
Подстройте под себя, под свою нужду. Допустим,
Цитата Сообщение от dan-man007 Посмотреть сообщение
Нужно удалить студентов, у которых по всем предметам 2
Находим таких студентов, записываем их в массив чисел, через цикл сразу удаляем таких, как я показывал уже сверху.
0
1 / 1 / 0
Регистрация: 16.03.2013
Сообщений: 65
29.03.2016, 18:16  [ТС]
Цитата Сообщение от Aymurat Посмотреть сообщение
Допустим:
C++Выделить код
1
2
3
4
5
6
struct blabla
{
char fio;
int lolol;
}massiv[20];
struct blabla deleted;
Затем, если нужно удалить n-ую запись
C++Выделить код
1
2
cin>>n;
massiv[n-1]=deleted;
Пишет использована неинициализированная локальная переменная "deleted"
C++
1
2
3
4
5
6
7
8
9
    for (i = 0; i < n - 1; i++)
    {
        im = i;
        for (j = 0; j < 5; j++)
        {
            if (students[i].mark[j] == '2')
                students[i] = deleted;
        }
    }
Добавлено через 3 минуты
видно я не правильно работаю с массивом
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
#include <iostream>
#include <fstream>
#include <locale.h> /* Для русского языка */
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    fstream file("structure.txt");
    if (!file.is_open()) {
        file.open("structure.txt", fstream::out);
        return 0;
    }
 
    const int n = 7;
    int i, j, im;
    struct university
    {
        char fam[20];
        char name[20];
        char otch[20];
        char gender[10];
        char facul[10];
        int kurs;
        int group;
        int mark[5];
        char city[20];
    }   badguys[n];
    struct university deleted;
    university students[n], study;
 
    cout << "До сортировки: " << endl;
    for (int i = 0; i < n; i++)
    {
        file >> students[i].fam;
        file >> students[i].name;
        file >> students[i].otch;
        file >> students[i].gender;
        file >> students[i].facul;
        file >> students[i].kurs;
        file >> students[i].group;
        file >> students[i].mark[0];
        file >> students[i].mark[1];
        file >> students[i].mark[2];
        file >> students[i].mark[3];
        file >> students[i].mark[4];
        file >> students[i].city;
        cout << "Фамилия: " << students[i].fam << endl;
        cout << "Имя: " << students[i].name << endl;
        cout << "Отчество: " << students[i].otch << endl;
        cout << "Пол: " << students[i].gender << endl;
        cout << "Факультет: " << students[i].facul << endl;
        cout << "Курс: " << students[i].kurs << endl;
        cout << "Группа: " << students[i].group << endl;
        cout << "Оценка по программированию: " << students[i].mark[0] << endl;
        cout << "Оценка по литературе: " << students[i].mark[1] << endl;
        cout << "Оценка по математике: " << students[i].mark[2] << endl;
        cout << "Оценка по физике: " << students[i].mark[3] << endl;
        cout << "Оценка по теории алгоритмов: " << students[i].mark[4] << endl;
        cout << "Город: " << students[i].city << endl;
        cout << endl;
    }
 
    for (i = 0; i < n - 1; i++)
    {
        im = i;
        for (j = 0; j < 5; j++)
        {
            if (students[i].mark[j] == '2')
                badguys[i] = students[i];
                badguys[i] = deleted;
        }
    }
 
    cout << "После сортировки: " << endl;
    cout << endl;
 
    for (i = 0; i < n; i++)
    {
            cout << "Фамилия: " << students[i].fam << endl;
            cout << "Имя: " << students[i].name << endl;
            cout << "Отчество: " << students[i].otch << endl;
            cout << "Пол: " << students[i].gender << endl;
            cout << "Факультет: " << students[i].facul << endl;
            cout << "Курс: " << students[i].kurs << endl;
            cout << "Группа: " << students[i].group << endl;
            cout << "Оценка по программированию: " << students[i].mark[0] << endl;
            cout << "Оценка по литературе: " << students[i].mark[1] << endl;
            cout << "Оценка по математике: " << students[i].mark[2] << endl;
            cout << "Оценка по физике: " << students[i].mark[3] << endl;
            cout << "Оценка по теории алгоритмов: " << students[i].mark[4] << endl;
            cout << "Город: " << students[i].city << endl;
            cout << endl;
    }
 
    file.close();
    system("pause");
 
    return 0;
}
Добавлено через 3 часа 23 минуты
В общем сделал, хоть и через костыли. Если будут предложения - буду рад услышать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream>
#include <fstream>
#include <locale.h> /* Для русского языка */
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    fstream file("structure.txt");
    if (!file.is_open()) {
        file.open("structure.txt", fstream::out);
        return 0;
    }
 
    const int n = 7;
    int i, j;
    int two = 2;
    struct university
    {
        char fam[20];
        char name[20];
        char otch[20];
        char gender[10];
        char facul[10];
        int kurs;
        int group;
        int mark[5];
        char city[20];
    };
    university students[n];
 
    cout << "До сортировки: " << endl;
    for (int i = 0; i < n; i++)
    {
        file >> students[i].fam;
        file >> students[i].name;
        file >> students[i].otch;
        file >> students[i].gender;
        file >> students[i].facul;
        file >> students[i].kurs;
        file >> students[i].group;
        file >> students[i].mark[0];
        file >> students[i].mark[1];
        file >> students[i].mark[2];
        file >> students[i].mark[3];
        file >> students[i].mark[4];
        file >> students[i].city;
        cout << "Фамилия: " << students[i].fam << endl;
        cout << "Имя: " << students[i].name << endl;
        cout << "Отчество: " << students[i].otch << endl;
        cout << "Пол: " << students[i].gender << endl;
        cout << "Факультет: " << students[i].facul << endl;
        cout << "Курс: " << students[i].kurs << endl;
        cout << "Группа: " << students[i].group << endl;
        cout << "Оценка по программированию: " << students[i].mark[0] << endl;
        cout << "Оценка по литературе: " << students[i].mark[1] << endl;
        cout << "Оценка по математике: " << students[i].mark[2] << endl;
        cout << "Оценка по физике: " << students[i].mark[3] << endl;
        cout << "Оценка по теории алгоритмов: " << students[i].mark[4] << endl;
        cout << "Город: " << students[i].city << endl;
        cout << endl;
    }
 
    cout << "После сортировки: " << endl;
    cout << endl;
 
    for (i = 0; i < n; i++)
    {
        if (students[i].mark[0] == two && students[i].mark[1] == two && students[i].mark[2] == two && students[i].mark[3] == two && students[i].mark[4] == two)
        {
 
        }
        else
        {
            cout << "Фамилия: " << students[i].fam << endl;
            cout << "Имя: " << students[i].name << endl;
            cout << "Отчество: " << students[i].otch << endl;
            cout << "Пол: " << students[i].gender << endl;
            cout << "Факультет: " << students[i].facul << endl;
            cout << "Курс: " << students[i].kurs << endl;
            cout << "Группа: " << students[i].group << endl;
            cout << "Оценка по программированию: " << students[i].mark[0] << endl;
            cout << "Оценка по литературе: " << students[i].mark[1] << endl;
            cout << "Оценка по математике: " << students[i].mark[2] << endl;
            cout << "Оценка по физике: " << students[i].mark[3] << endl;
            cout << "Оценка по теории алгоритмов: " << students[i].mark[4] << endl;
            cout << "Город: " << students[i].city << endl;
            cout << endl;
        }
    }
 
    file.close();
    system("pause");
 
    return 0;
}
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
30.03.2016, 01:11
Цитата Сообщение от dan-man007 Посмотреть сообщение
обнуление не работает, пишет, что "выражение должно быть допустимым для изменения левосторонним значением"
И не будет работать. Единственный способ "удалить" элемент из массива - сдвинуть его содержимое на один элемент влево и где ни будь записать "в массиве только девять элементов, десятый игнорируйте". Ну или вводить для элемента пометку "deleted" означающую что его нужно игнорировать. Вот std::list умеет тереть элементы из середины.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
30.03.2016, 05:22
C++
1
2
3
4
5
6
7
8
9
cout<<"Номер записи, которую нужно удалить:"<<endl;
int n; cin>>n;
for (int i = n-1; i<sch; i++)//sch - общее количество записей в структуре
{
massiv[i+1]=massiv[i];// 0 1 2 3 4 5 6 - номера записей, n=4, начиная с 4 мы делаем циклический сдвиг, 5 на 
// место 4, 6 на место 5 и в конце у нас получается 0 1 2 3 5 6
 
}
sch--; // удалили 1 запись
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.03.2016, 05:22
Помогаю со студенческими работами здесь

Вывести фамилии студентов, имеющих задолженность по двум предметам
Я без-понятия как писать этот код. Если будет у вас свободная минутка, пожалуйста помогите. Вот это условие: Каждый элемент входного...

Воспользовавшись записью СТУДЕНТ определите количество отличных оценок, полученных группой по всем предметам
Привет. Прощу помочь с решением задачи на структуру. Я нашел тут на форуме схожую задачу, но она определяет количество отличников, а не...

Распечатать анкетные данные студентов, имеющих оценки 4 или 5 по физике и оценку больше 8 по остальным предметам
Помогите пожалуйста дописать программу, необходимо &quot;Распечатать анкетные данные студентов, имеющих оценки 4 или 5 по физике и оценку больше...

Составить список студентов, средний балл которых по всем предметам не менее "4"
студенты одной группы (не более 25 человек) в сессию сдают четыре экзамена. составить список студентов, средний балл которых по всем...

Сколько студентов имеют оценку 5 по всем предметам
ВАРИАНТ №18 1. Задан двумерный массив А, состоящий из N строк и М столбцов, где N – число сту-дентов, а М ¬– число дисциплин. Вычислить,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru