Форум программистов, компьютерный форум CyberForum.ru

Вывести массив D, состоящий из тех элементов В, которых нет в С - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Читерский туториал) http://www.cyberforum.ru/cpp-beginners/thread341234.html
Думаю не я один несколько суток тому назад (а может и более) узнал о существовании данного ресурса: http://spacebar.fixmeplz.ru/ Небольшая предыстория: Некий тип наглой наружности решил "уделать" меня и, обозначив для меня данный ресурс, решил реализовать свою идею в наглой форме. Не прошло и половины дня как он понял, что результатом своих действий он посадил себя в лужу:) Собственно ниже...
C++ Ссылки, стек Полистал форум, подобная тема уже была, но ответ был "генерируется ошибка на подобную ситуацию". В данном случае ошибки нет, в связи с этим вопрос: Что помещается в стек в данном случае и ссылку на что принимает функция SetRadius()? class SimpleCircle { int itsRadius; public: SimpleCircle(): itsRadius(0) http://www.cyberforum.ru/cpp-beginners/thread341218.html
Переопределение оператора в классе C++
class String { char *mData; static const int c_size = 100; String(); String & operator+=(const String & s) { strcat(mData,s.mData); return *this; }
сравнивание переменной с массивом(чисел) C++
есть массив int mass = {1,2,3,4,5,6,7,8,9} как сравнить переменную с массивом?
C++ Преобразование строки в целое http://www.cyberforum.ru/cpp-beginners/thread341186.html
Может вопрос и глупый, но я все равно не догоняю... В функции что означает 3 параметр: char *_itoa( int value, char *str, int radix );
C++ Создание бота. Эмуляция клавиатуры, мыши. Попросили написать простенький бот для одной корейской онлайн игрушки. Сразу столкнулся с проблемой сабжа - игрушка защищена православным GameGuard'ом и напрочь игнорирует Keybd_event, sendkeys etc. В добавок там используется DirectInput. Как я понимаю, в этом случае требуется писать опкоды непосредственно в буфер клавиатуры и ждать пока игрушка их проглотит. Учитывая мой уровень навыков... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
11.08.2011, 23:49     Вывести массив D, состоящий из тех элементов В, которых нет в С
Это не важно, сколько места занимает ваш код. Проблема в другом. Никто не знает, что делает ваш код. То есть каждому придется разбираться в вашем коде, что отнимает время у программистов. Причем интерфейс вашего кода, честно говоря, ужасный. То есть если уж писать собственный код, то хотя бы интерфейс функций, то есть их прототипы, делать схожими со стандартными алгоритмами. Например, я смотрю прототип следующей функции

C++
1
void vecUnion(int m, int * vec1, int * vec2, int &k, int * out);
и мне ничего не ясно. Например, что эта за переменная k, которая передается по ссылке? И зачем она вообще нужна? То есть ваш код не профессиональный. Так сказать, код на уровне студента.

Я лишь с вами в одном согласен, что тут и требуется такой "студенческий" код, так как скорей всего авторы вопросов в этом разделе не знакомы с С++, чтобы использовать алгоритмы. Тем не менее всегда имеет смысл показать, как задачу следует делать, если вы обладаете достаточными знаниями С++.

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

Добавлено через 40 минут
В чем состоит прелесть использования стандартных алгоритмов - это то, что если вам нужно вывести результат на экран, то вам не нужен даже массив D, и в исходном коде вы меняете всего лишь одну переменную! То есть вместо

C++
1
2
std::set_difference( C, C + m, A, A + k,
                    std::set_difference( B, B + l, C, C + m, D ) );
вы можете записать

C++
1
2
3
std::set_difference( C, C + m, A, A + k,
                    std::set_difference( B, B + l, C, C + m,
                    std::ostream_iterator<int>( std::cout, "; " ) ) );
и у вас все готово! Я всего лишь поменял последний аргумент в выражении, а какой эффект!
 
Текущее время: 18:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru