6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
1

Нужны комментарии к коду

15.01.2018, 02:18. Показов 1019. Ответов 3
Метки нет (Все метки)

меня интересуют вот эти три строки ,что они делают в данном коде.какой их тут смысл.

C
1
2
3
C.pSet = new int[A.n]; 
C.n = l; 
printf("%d", C.pSet[C.n-1]);

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
#include <stdio.h> 
//   
struct Set // объявляем структуру
{ 
    int* pSet; // для хранения адреса массива
    int n; // для хранения количетсва элементов множества
}; 
 
Set Intersection(struct Set A, struct Set B)// функция дле пересечиния
{ 
    Set C; // тут спросить
    C.pSet = new int[A.n]; 
    int l = 0; 
    for (int i = 0; i < A.n; i++) 
    {    
        for (int j = 0; j < B.n; j++) 
        { 
            if (A.pSet[i] == B.pSet[j]) // строим пересечение
            { 
                C.pSet[l] = A.pSet[i]; 
                l++; 
            } 
        } 
    } 
    C.n = l; 
    return C; // возвращаем созданное пересечение
} 
 
int main() 
{ 
    Set A; 
    A.n = 5; 
    A.pSet = new int[5] { 3, 4, 1, 6, 7 }; // заполняем первое множество
 
    Set B; 
    B.n = 5; 
    B.pSet = new int[5] { 8, 1, 3, 7, 10 }; // заполняем второе множество
    Set C = Intersection(A, B); // находим пересечение
 
    printf("C={"); 
    for (int i = 0; i < C.n - 1; i++) 
    { 
        printf("%d, ", C.pSet[i]); // отображаем на дисплее элементы множества пересечения
    } 
    printf("%d", C.pSet[C.n-1]);
    printf("}\n"); 
    getchar(); 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2018, 02:18
Ответы с готовыми решениями:

Нужны комментарии к коду
int bestStr(char** file, int numstr) { int iBest = -1, bestwords = 0; for (int i = 0; i &lt;...

Нужны комментарии к коду
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; //ЗАДАЧА #14 void...

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

Нужны комментарии к коду
pair&lt;bool, array&lt;int, 81&gt;&gt; SOL(const char* inp) { array&lt;int, 81&gt; ANS; int* TAB = ANS.data();...

3
389 / 259 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
15.01.2018, 11:15 2
Лучший ответ Сообщение было отмечено Марина1211 как решение

Решение

1 строчка : В структуре A, которая передается в качестве аргумента в эту функцию, есть переменная n.Есть указатель на массив. В этой же строке мы инициализируем это массив динамически и ставим ему размер, как у int n из A;
2 строчка : То есть циклы - с 14 строки строки выполняются так : пока i меньше чем int n , которая объявлена в структуре A, вызываем второй цикл. Второй цикл будет вызываться пока выполняется условие - int j отсюда меньше , чем int n из B и будет проверять условие : если элемент i массива pSet из структуры A равен элементу j массива pSet из структуры B - присваиваем l элементу массива pSet из структуры C значение i элемента массива pSet из структуры A. Прибавляем к l единичку. Циклы заканчиваются и l объявленное в строке 13 чему-то равно ( 0, если условие строки 18 ни разу не выполнилось ),теперь в переменную n структуры C ( строка 6) мы ставим значение этого l и возвращаем структуру.
3 строчка : выводим элемент массива pSet(который равен n (n,которому мы дали значение l в той функции) - 1);
Вроде все
1
6 / 8 / 8
Регистрация: 06.10.2017
Сообщений: 269
15.01.2018, 19:18  [ТС] 3
Цитата Сообщение от LegionK Посмотреть сообщение
1 строчка : В структуре A, ко
Set C вот это тут что делает?
0
389 / 259 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
15.01.2018, 19:45 4
Лучший ответ Сообщение было отмечено Марина1211 как решение

Решение

Марина1211, это локальная переменная тип которой Set,именно над ней проводятся все манипуляции в теле этой функции,после которых она же (локальная структура C) возвращается. Это возвращенное значение присваивается структуре объявленной на строке 38
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2018, 19:45
Помогаю со студенческими работами здесь

Нужны комментарии к коду
#include&lt;iostream.h&gt; #include&lt;math.h&gt; int maximal(int n,double R0); void main(){ int...

Нужны комментарии к коду
что здесь происходить double *x=new double ; double **b=new double *; for(i=0;i&lt;n;i++) ...

Нужны комментарии к коду
Доброго времени суток. Нашел такой код с++ // таблица замен byte Tab_Z = { ...

Список (нужны комментарии к коду)
вот код на cpp обьясните плиз последние 5 строк.и this. template &lt;class genius1&gt; class List_Elem...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru