Написать программку на языке C++

Написать программку на языке C++

Задать свой вопрос
1 ответ

include lt;iostreamgt;

include lt;ctimegt;

using namespace std;

int main()

 srand( time(0) );

 int *mas = new int[100];

 int even_c = 0, odd_c = 0;

 for (int i = 0; i lt; 100; ++i)

 mas[i] = 1 + rand() % 100;

 if (mas[i] % 2 == 0) even_c++; else odd_c++;

 

 int *even = new int [even_c];

 int *odd = new int [odd_c];

 int temp = 0;

 for (int i = 0; i lt; 100; ++i)

   if (mas[i] % 2 == 0) even[temp] = mas[i]; temp++;

 

 temp = 0;

 for (int i = 0; i lt; 100; ++i)

   if (mas[i] % 2 != 0) odd[temp] = mas[i]; temp++;

 

delete[] mas;

 cout lt;lt; "Even: ";

 for (int i = 0; i lt; even_c; ++i)

   cout lt;lt; even[i] lt;lt; " ";

 

 cout lt;lt;endl lt;lt; "Odd: ";

 for (int i = 0; i lt; odd_c; ++i)

   cout lt;lt; odd[i] lt;lt; " ";

 

Vasilisa Abdulkina
Компилируем, запускаем и замеряем последующие показатели:1. Размер бинарей2. Время выполнения3. Объем памяти для в рантайме + обьем по куче + доп обьем по куче
Павел Вереитин
Что мы имеем, по результатам выполнения я составил диаграммы, вы их сможите поглядеть по ссылкам, я их загружу на файлообменник, а так же усредненные данные тут
Софья Торгинова
Начнем с размера бинарников, без какой или оптимизации собраные под G++, вот его версия кстати:g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516Размер вашего кода в скомпилированном бинарнике сочиняет:16 KМоего же24 КТо есть 150% от вашего либо в полтора раза больше. Если их компилить с флагом -O3, то ваш бинарь весит:16KМой же16KТо есть фактический размер бинаря при билде с флагом оптимизации меньше, чем при тех же критериях - ваш
Кавкасидзе Алина
Время исполнения программ- Голубая ваш код- Красная линия мой код100 выполненийhttps://prnt.sc/m8n5tk1000 выполненийhttps://prnt.sc/m8n5yqКак видите ваш код производится почаще всего в разы длиннее чем мой, поглядите необыкновенно вторую картинку и размах пиков исполнения.Еденицы измерения там взяты из измерения - миллисекунды кажись.
Ромка Беркутов
По потреблению памяти, ниже привожу усредненное значение по выполнению 100 итераций. Замерял данные с помощью тулзы valgrind.Ниже можно ознакомится с результатом работы вашего образца:Total: 73,552Heap: 73,504Extra Heap: 48а сейчас моего образца:Total: 74,152Heap: 74,128Extra Heap: 24Очевидно, что ваша реализация выигрывает всего на 600-630 б употребления памяти.Приведены измерения для пикового значения употребления памяти.Еденицы измерения - байты.
Егор Рикошинский
Какой из этого можно сделать вывод?Мне было очень скучно, если я вам это рассписал.А ещё, можно отметить, что даже с оптимизацией (все испытания и замеры выполненны с компиляцией с флагом оптимизации) ваш солюшн решает мой только в потреблении памяти, всего на 600 б, зато в разы медлительнее, в отдельных случаях в 2 раза.
Погораздова Арина
Так что пишите превосходный код, коль с такой трудной абстракцией мой код все одинаково работает превосходнее, не запамятовывайте return, а так же подчищать память, а по другому это зазорно...Спасибо за внимание)
Милана Сикаева
P.S.Могу написать код ещё прытче, избегая использования векторов))
Виталик Стафилов
К слову тоже всего одним циклом, у вас 5, а у меня 1, ну круто же)
Агата Рогозенкова
К слову наврал, по графикам видно что код работает прытче в среднем не в 2 раза а в 3-4
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт