Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
#1

Удалить из вектора все элементы, которые кратны заданному числу

19.06.2017, 19:37. Просмотров 938. Ответов 19

Добрый вечер/ночь/день, помогите пожалуйста исправить ошибки

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
#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
 
int Input()
{
    int n;
    cout<<"Введите количество элементов:";
    cin>>n;
    while (n<1)
    {
        cout<<"Задан неверный размер"<<endl;
        cin>>n;
    }
    return n;
}
 
void Imput(vector <int>& v, const int n) //задаем вектор
{
    for(int i=0;i<n;i++)
    {
        int A;
        cout<<"Введите элемент массива ";
        cin>>A;
        v.push_back(A);
    }
    
}
 
void del1(vector <int>& A, const int p)//удаление числа
{ 
       
    for(int i=0; i<A.size(); i++)
    {
        if(A[i] % p == 0) 
        {
            A.erase(A.begin() + i);
            --i;
        }
    }
}
 
int Max(vector <int> q)//поиск максимального
{
    int y=0;
    double m=q[0];
 
    for (unsigned int i=1;i<q.size();i++)
    
    if (q[i]>m)
    {
        y=i;
        m=q[i];
    }
    if(y==0) 
    {
        y=q.size()-1;
        return q[y];
    }
    else return q[y-1];
 
    
 
}
void InsMax(vector <double> B,vector <double>q)//функция для добавления числа
                                              //перед каждым элементом в векторе, которое находится перед максимальным 
{
        cout<<"Элемент: "<<Max(q)<<endl;
        int i=0;
        do
    {
            B.insert(B.begin()+i+1,Max(q));
            i=i+2;
    }while(i<B.size());
}
 
void display(const vector <int>& v)//вывод на экран
{
    for(int i=0;i<v.size();i++)
    cout<<v[i]<<" ";
    cout<<endl;
}
 
int main(int argc, char* argv[])
{
    setlocale(0,"");
    
    int n = Input();
    vector <int>A;
    vector <int>B;
    Imput(A, n);
    B = A;
    display(A);
    cout<<"Введите число для кратности удаления ";
    int p,q;
    cin >> p;
    del1(A, p);
    display(A);
 
    InsMax(A,q);
    display(A);
    
    system("pause");
    return 0;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2017, 19:37
Ответы с готовыми решениями:

Удалить из массива все элементы, равные заданному числу
Задано натуральное число n и массив из n целых чисел a0,a1,...,an-1, а также...

Удалить из массива все элементы, последняя цифра которых равна заданному числу D
Помогите с решением. Дан одномерный массив, элементы которого - целые числа, а...

Удалить из вектора все значения равные заданному
Подскажите пожалуйста Сделал вот такую программу #include &lt;iostream&gt;...

Записать все элементы массивов А и В, которые кратны 3 и 7
Напишите объяснение к каждой строчке(что?, как?, зачем?), и, если можно,...

Заменить все минимальные элементы значениями, равными заданному числу
Заполнить целочисленный двухмерный массив размера NM случайными числами в...

19
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
19.06.2017, 20:07 #2
sergey_513, Вы бы описали в чем состоят эти ошибки, в каких строчках и т.д, опишите суть проблемы грамотным языком. Вообще читайте как правильно создавать темы и задавать вопросы.
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
19.06.2017, 20:20  [ТС] #3
мановар, Пардон, вот сюда ругается
Цитата Сообщение от sergey_513 Посмотреть сообщение
InsMax(A,q);
говорит что
InsMax: невозможно преобразовать параметр 1 из 'std::vector<_Ty>' в 'std::vector<_Ty>'
with
[
_Ty=int
]
and
[
_Ty=double
]
Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
0
Voll deMaar
3 / 3 / 1
Регистрация: 22.08.2016
Сообщений: 32
19.06.2017, 20:49 #4
sergey_513, ну да, всё правильно, переменные у тебя int, а процедура принимает double. Здесь можно либо привести переменные явно к нужному типу, либо объявить их double, либо переписать процедуру, например.

Добавлено через 9 минут
Интересно, все процедуры работают с целыми, а одна - с двойными. Зачем?
0
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
19.06.2017, 20:52 #5
Я вообще ничего не понял. Что такое q и для чего оно?
строка 96
Цитата Сообщение от sergey_513 Посмотреть сообщение
int p,q;
строка 66
Цитата Сообщение от sergey_513 Посмотреть сообщение
void InsMax(vector <double> B,vector <double>q)
строка 44
Цитата Сообщение от sergey_513 Посмотреть сообщение
int Max(vector <int> q)
Надо порядок в королевстве навести.
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
19.06.2017, 21:18  [ТС] #6
Цитата Сообщение от мановар Посмотреть сообщение
Надо порядок в королевстве навести.
был бы признателен, так как код не мой, думаю строка 66 это и есть условие
"После каждого простого числа в первый вектор вставить элемент второго вектора, расположенный перед максимальным (если максимальный элемент расположен на первом месте – вставить последний элемент)"

Добавлено через 1 минуту
Цитата Сообщение от Voll deMaar Посмотреть сообщение
Интересно, все процедуры работают с целыми, а одна - с двойными. Зачем?
если бы я знал, что нужно исправить?

Добавлено через 55 секунд
Цитата Сообщение от мановар Посмотреть сообщение
Я вообще ничего не понял. Что такое q и для чего оно?
строка 96
оно и есть найденное число которое будет поставлено перед каждым элементом вектора
0
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
19.06.2017, 22:03 #7
Цитата Сообщение от sergey_513 Посмотреть сообщение
оно и есть найденное число
Где найденное? Вектор q не определен.
Подправил и выключил обращение не понятно чего, непонятно к чему. Числа вводит и удаляет согласно введенному.
Определяйтесь со вторым вектором или нормально формулируйте задание.

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
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
 
int Input()
{
    int n;
    cout << "Введите количество элементов:";
    cin >> n;
    while (n<1)
    {
        cout << "Задан неверный размер" << endl;
        cin >> n;
    }
    return n;
}
 
void Imput(vector <int>& v, const int n) //задаем вектор
{
    for (int i = 0; i<n; i++)
    {
        int A;
        cout << "Введите элемент массива ";
        cin >> A;
        v.push_back(A);
    }
 
}
 
void del1(vector <int>& A, const int p)//удаление числа
{
 
    for (int i = 0; i<A.size(); i++)
    {
        if (A[i] % p == 0)
        {
            A.erase(A.begin() + i);
            --i;
        }
    }
}
 
int Max(vector <int> q)//поиск максимального
{
    int y = 0;
    double m = q[0];
 
    for ( int i = 1; i<q.size(); i++)
 
        if (q[i]>m)
        {
            y = i;
            m = q[i];
        }
    if (y == 0)
    {
        y = q.size() - 1;
        return q[y];
    }
    else return q[y - 1];
 
 
 
}
void InsMax(vector <int> B,  vector <int> q)//функция для добавления числа
                                                //перед каждым элементом в векторе, которое находится перед максимальным 
{
    cout << "Элемент: " << Max(q) << endl;
    int i = 0;
    do
    {
        B.insert(B.begin() + i + 1, Max(q));
        i = i + 2;
    } while (i<B.size());
}
 
void display(const vector <int>& v)//вывод на экран
{
    for (int i = 0; i<v.size(); i++)
        cout << v[i] << " ";
    cout << endl;
}
 
int main(int argc, char* argv[])
{
    setlocale(0, "");
 
    int n = Input();
    vector <int>A;
    vector <int>B;
    Imput(A, n);
    B = A;
    display(A);
    cout << "Введите число для кратности удаления ";
    int p, q;
    cin >> p;
    del1(A, p);
    display(A);
 
//  InsMax(A, q);
    display(A);
 
    system("pause");
    return 0;
}
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
20.06.2017, 16:40  [ТС] #8
мановар, нужно что бы получился вектор, в нем найти число которое стоит перед максимальным и это же число вставить перед каждым элементом в векторе
по идеи максимальное число должна была искать эта функция:
Цитата Сообщение от sergey_513 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int Max(vector <int> q)//поиск максимального
{
    int y=0;
    double m=q[0];
 
    for (unsigned int i=1;i<q.size();i++)
    
    if (q[i]>m)
    {
        y=i;
        m=q[i];
    }
    if(y==0) 
    {
        y=q.size()-1;
        return q[y];
    }
    else return q[y-1];
 
    
 
}
а вставлять перед каждым элементом эта функция:
Цитата Сообщение от sergey_513 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
void InsMax(vector<double> B, vector<double> q) //функция для добавления числа
//перед каждым элементом в векторе, которое находится перед максимальным
{
    cout << "Элемент: " << Max(q) << endl;
    int i = 0;
    do
    {
        B.insert(B.begin() + i + 1, Max(q));
        i = i + 2;
    } while (i < B.size());
}
0
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
20.06.2017, 19:47 #9
Цитата Сообщение от sergey_513 Посмотреть сообщение
по идеи максимальное число должна была искать эта функция,
Где она его должна искать? В векторе A? В векторе B, в который скопировали вектор A. В векторе q который не определен?
Цитата Сообщение от sergey_513 Посмотреть сообщение
а вставлять перед каждым элементом эта функция
Это тоже ясно, но делу не поможет. Вообще на кой ляд мы тогда удаляем что то, кратное чему то?

Сложилось такое впечатление, что Вы вообще не понимаете что Вам надо. Или понимаете какими то кусками.
Мой Вам совет: создайте новую тему, где четко и ясно сформулируйте задачу, которую Вам необходимо решить. Так думаю дело пойдет быстрее.
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
20.06.2017, 21:44  [ТС] #10
Добрый вечер/ночь/день, помогите пожалуйста исправить ошибки
Суть сей НЕДОпрограммы написанной кое как мною(не факт):

1) Удалить из вектора все элементы, которые кратны заданному числу //Вроде как удаляет
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
#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
 
int Input()
{
    int n;
    cout<<"Введите количество элементов:";
    cin>>n;
    while (n<1)
    {
        cout<<"Задан неверный размер"<<endl;
        cin>>n;
    }
    return n;
}
 
void Imput(vector <int>& v, const int n) //задаем вектор
{
    for(int i=0;i<n;i++)
    {
        int A;
        cout<<"Введите элемент массива ";
        cin>>A;
        v.push_back(A);
    }
    
}
 
void del1(vector <int>& A, const int p)//удаление числа
{ 
       
    for(int i=0; i<A.size(); i++)
    {
        if(A[i] % p == 0) 
        {
            A.erase(A.begin() + i);
            --i;
        }
    }
}
 
int Max(vector <int> q)//поиск максимального
{
    int y=0;
    double m=q[0];
 
    for (unsigned int i=1;i<q.size();i++)
    
    if (q[i]>m)
    {
        y=i;
        m=q[i];
    }
    if(y==0) 
    {
        y=q.size()-1;
        return q[y];
    }
    else return q[y-1];
 
    
 
}
void InsMax(vector <double> B,vector <double>q)//функция для добавления числа
                                              //перед каждым элементом в векторе, которое находится перед максимальным 
{
        cout<<"Элемент: "<<Max(q)<<endl;
        int i=0;
        do
    {
            B.insert(B.begin()+i+1,Max(q));
            i=i+2;
    }while(i<B.size());
}
 
void display(const vector <int>& v)//вывод на экран
{
    for(int i=0;i<v.size();i++)
    cout<<v[i]<<" ";
    cout<<endl;
}
 
int main(int argc, char* argv[])
{
    setlocale(0,"");
    
    int n = Input();
    vector <int>A;
    vector <int>B;
    Imput(A, n);
    B = A;
    display(A);
    cout<<"Введите число для кратности удаления ";
    int p,q;
    cin >> p;
    del1(A, p);
    display(A);
 
    InsMax(A,q);
    display(A);
    
    system("pause");
    return 0;
}
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
20.06.2017, 21:44  [ТС] #11
Цитата Сообщение от мановар Посмотреть сообщение
Где она его должна искать? В векторе A?
Именно
Цитата Сообщение от мановар Посмотреть сообщение
Вообще на кой ляд мы тогда удаляем что то, кратное чему то?
Хотел бы я знать, такое задание по предмету

Добавлено через 7 минут
мановар, http://www.cyberforum.ru/cpp-beginners/thread2007357.html#post10563442
вроде как более понятно создал

Оказывается не создал
0
MrGluck
Модератор
Эксперт CЭксперт С++
8054 / 4898 / 1426
Регистрация: 29.11.2010
Сообщений: 13,296
20.06.2017, 21:46 #12
Никаких часть 2, часть 3 и т.д.
 Комментарий модератора 
sergey_513, пожалуйста, прочитайте правила форума.
Особое внимание обратите на пункт 4.3 (порядок именования тем).
Также обратите внимание на 5.5.
Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.
Темы объединил.
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
20.06.2017, 21:50  [ТС] #13
Цитата Сообщение от MrGluck Посмотреть сообщение
Никаких часть 2, часть 3 и т.д.
О! а может вы мне поможете?

Добавлено через 1 минуту
MrGluck, Для вас этот код-плевое дело, а я мучаюсь неделю уже

Добавлено через 59 секунд
мановар, её перенесли сюда
0
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
20.06.2017, 21:56 #14
Цитата Сообщение от sergey_513 Посмотреть сообщение
Хотел бы я знать
А кто должен знать?
Цитата Сообщение от sergey_513 Посмотреть сообщение
такое задание по предмету
Какое задание? Где оно полностью? Я уже второй день с Вами мучаюсь пытаясь узнать его. Вы что вообще не читаете что Вам пишут?
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
20.06.2017, 22:00  [ТС] #15
Цитата Сообщение от sergey_513 Посмотреть сообщение
1) Удалить из вектора все элементы, которые кратны заданному числу //Вроде как удаляет
2) После каждого простого числа в первый вектор вставить элемент второго вектора, расположенный перед максимальным.
//Второй пункт не могу реализовать
мановар, вот оно
Читаю все что пишут
0
MrGluck
Модератор
Эксперт CЭксперт С++
8054 / 4898 / 1426
Регистрация: 29.11.2010
Сообщений: 13,296
20.06.2017, 22:06 #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
// После каждого простого числа в первый вектор вставить элемент второго вектора, расположенный перед максимальным.
#include <algorithm>
#include <cmath>
#include <iostream>
#include <iterator>
#include <vector>
 
// функция проверки, является ли число простым
bool IsPrime(const int x)
{
    for (int i = 2, end = sqrt(x); i <= end; i++)
        if (x % i == 0)
            return false;
    return x > 1;
}
 
int main()
{
    std::vector<int> v1 = {1, 2, 3, 4, 5, 6}, v2 = {4, 10, 1, 0};
    // запоминаем итератор на максимальный элемент во 2 векторе
    const auto v2MaxIt = std::max_element(v2.cbegin(), v2.cend());
    // если элемент первый, перед ним ничего нет, нечего делать
    if (v2MaxIt == v2.cbegin())
        return 1;
 
    // запоминаем значение элемента перед максимальным
    const int valPrevMax = *std::prev(v2MaxIt);
    // проходимся по всем элементам первого вектора
    for (auto it = v1.begin(); it != v1.end(); ++it)
        // если число простое - вставляем значение
        if (IsPrime(*it))
            it = v1.insert(std::next(it), valPrevMax);
 
    // проходимся по всему вектору v1 и выводим элементы
    for (const auto &x: v1)
        std::cout << x << " ";
}
0
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
20.06.2017, 22:07 #17
Вот уже предметный разговор, теперь яснее и теплее, но возвращаемся к нашим баранам.
1. Второй вектор откуда берется (вводится вручную, задается рандомно или еще как?)
2. Вставляем элемент второго вектора который расположен перед максимальным в первый вектор после удаления элементов или в первоначальный не измененный?
0
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
20.06.2017, 22:12  [ТС] #18
Цитата Сообщение от мановар Посмотреть сообщение
1. Второй вектор откуда берется (вводится вручную, задается рандомно или еще как?)
Как я понял из объяснения ТЗ препода: второй вектор получается после действия с удалением
Цитата Сообщение от мановар Посмотреть сообщение
Вставляем элемент второго вектора который расположен перед максимальным в первый вектор после удаления элементов
да
0
Manowar
1553 / 485 / 164
Регистрация: 12.03.2016
Сообщений: 1,837
Завершенные тесты: 1
20.06.2017, 23:18 #19
Лучший ответ Сообщение было отмечено sergey_513 как решение

Решение

Еще раз подправил. Теперь давайте сами до конца разбирайтесь. И так много времени в пустую потратили.
Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
 
int Input()
{
    int n;
    cout << "Введите количество элементов:";
    cin >> n;
    while (n<1)
    {
        cout << "Задан неверный размер" << endl;
        cin >> n;
    }
    return n;
}
 
void Imput(vector <int>& v, const int n) //задаем вектор
{
    for (int i = 0; i<n; i++)
    {
        int A;
        cout << "Введите элемент массива ";
        cin >> A;
        v.push_back(A);
    }
 
}
 
void del1(vector <int>& A, const int p)//удаление числа
{
 
    for (int i = 0; i<A.size(); i++)
    {
        if (A[i] % p == 0)
        {
            A.erase(A.begin() + i);
            --i;
        }
    }
}
 
int Max(vector <int> q)//поиск максимального
{
    int y = 0;
    double m = q[0];
 
    for (int i = 1; i<q.size(); i++)
 
        if (q[i]>m)
        {
            y = i;
            m = q[i];
        }
    if (y == 0)
    {
        y = q.size() - 1;
        return q[y];
    }
    //else return q[y - 1];
    else return m;
 
 
}
void InsMax(vector <int> &B, vector <int> q)//функция для добавления числа
                                           //перед каждым элементом в векторе, которое находится перед максимальным 
{
    cout << "Элемент: " << Max(q) << endl;
    int i = 0;
    do
    {
        B.insert(B.begin() + i + 1, Max(q));
        i = i + 2;
    } while (i<B.size()-1);
}
 
void display(const vector <int> v)//вывод на экран
{
    for (int i = 0; i<v.size(); i++)
        cout << v[i] << " ";
    cout << endl;
}
 
int main(int argc, char* argv[])
{
    setlocale(0, "");
 
    int n = Input();
    vector <int>A;
    vector <int>B;
    Imput(A, n);
//  B = A;
    display(A);
    cout << "Введите число для кратности удаления ";
    int p, q;
    cin >> p;
    del1(A, p);
    display(A);
    B = A;
      InsMax(B, A);
    display(B);
 
    system("pause");
    return 0;
}
1
sergey_513
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 32
21.06.2017, 22:09  [ТС] #20
мановар, Спасибо вам большое
0
21.06.2017, 22:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2017, 22:09

Найти все трёхзначные числа, которые состоят из разных цифр, а их сумма равна заданному числу
Помогите решить в С++ 2.2 Найти все трехзначные числа, которые состоят из...

Найти все элементы массива, сумма которых равна заданному числу
Привет. Как можно решить эту задачу не перебором? тут подойдет &quot;задача о...

дописать ( Из массива А удалить все элементы, которые встречаются в В ровно 2 раза. Из В переписать в С те элементы, которые совпадают с оставшимися)
нужно чтоб на экран еще выводило перед новым массивом А, числа,которые...


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

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

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