Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2018, 02:21   #1
Александр121
Форумчанин
 
Регистрация: 17.09.2017
Сообщений: 265
По умолчанию можете обьяснить код - C++

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

Код:
C.pSet = new int[A.n]; 
C.n = l; 
printf("%d", C.pSet[C.n-1]);

Код:
#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(); 
}
Александр121 вне форума Ответить с цитированием
Старый 15.01.2018, 12:57   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Цитата:
Сообщение от Александр121 Посмотреть сообщение
C.pSet = new int[A.n];
Выделение массива для хранения элементов.

Цитата:
Сообщение от Александр121 Посмотреть сообщение
C.n = l;
Запоминаем их количество.


Цитата:
Сообщение от Александр121 Посмотреть сообщение
printf("%d", C.pSet[C.n-1]);
Это чтобы запятой после последнего элемента не было.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можете перевести код с паскаля на С++ vital_orsha Помощь студентам 2 28.10.2015 21:04
Можете перевести код с Pascal на C++ vital_orsha Общие вопросы C/C++ 2 27.10.2015 19:01
Обьяснить код программи, что каждая строка делает NastyaV Фриланс 2 26.03.2011 17:04
Обьяснить код. Дядя Тёма Фриланс 1 09.06.2010 20:18
Господа можете прокоментировать код. hub2002 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.08.2009 02:03