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

зделать задачу по дискретной математике - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамический объект класса и деструктор http://www.cyberforum.ru/cpp-beginners/thread950472.html
Добрый вечер. Есть класс, конструктор и деструктор: class B { int a; public: B (); ~B (); };
C++ Функция не принимает аргументы Не знаю какой участок кода выделить, напишу всю программу Программа выводит выбор продукта, вводит его вес, и так пока пользователь не выберет 0 - тогда программа выводит сумму белков, жиров, углеводов и калорий всех продуктов, которые он выбирал. Не судите за быдлокодинг, решил попробовать свои силы (программу для себя пишу): #include <iostream> #include <fstream> #include <Windows.h>... http://www.cyberforum.ru/cpp-beginners/thread950466.html
Объясните синтаксис программы по полочкам с использованием локальных переменных и прототипа функции C++
Здравствуйте уважаемые форумчане. Вот читаю книгу по C++, не буду писать какую, дабы избежать критики и обсуждений. Хотелось бы что бы вы подробно разжевали синтаксис выполнения кода данной программы, застрял на этой теме и дальше идти не могу так как понимаю, что если не разберусь с этим примером дальнейшее изучение для меня будет темным лесом (ток не закидывайте помидорами): #include...
Простая задачка на классы C++
Здорова господа!!! Есть простая задачка: "Разработайте базовый класс Persistent с операциями save() и no_save(), которые определяют, записываются ли объекты в долговременное хранилище деструктором. Кроме указанных операций какие еще полезные операции мог бы предоставлять класс Persistent? Протестируйте класс Persistent с парой классов по вашему выбору. Является ли Persistent узловым классом,...
C++ Как преобразовать структуру в javascript массив http://www.cyberforum.ru/cpp-beginners/thread950447.html
Пишу FastCGI сервер и возникла необходимость перебросить данные из структуры в javascript массив. C++ код: struct news_struct { unsigned int date; // Секунд от 1970 г. std::string title; std::string message; template<class Archive> void serialize(Archive & ar, const unsigned int version) { using boost::serialization::make_nvp;
C++ Перевести с паскаля на Си++ вообщем программа на паскале нужно перевести на с++ суть проги поменять местами главную диагональ и побочную program pr1; var a:array of integer; i,j,n,z:integer; begin writeln('vvedite n'); readln(n); for i:=1 to n do подробнее

Показать сообщение отдельно
Nullik
 Аватар для Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 297
Завершенные тесты: 1
09.09.2013, 18:56     зделать задачу по дискретной математике
Мой вариант через 3 цикла -- самый атасный. Я думаю, он "тяжёлым" будет для большого кол-ва элементов в множестве.

Вариант AlexCore, который неплохой, не решил задачу в моменте:
1 2 2 3 3
4 3 2 2 3
1 3 2 2 3
вот выпадут вам такие числа и сидите, делайте ещё по (41 число - 0 и 40 включены в область) 37 проверок. А Вдруг будет так, что 3 множества по миллиону в каждом и в одном все 0, в другом все 1, в третьем все 2. И?

и тут меня осенило, как мне кажется.

Сначала мы сравним, какое из множеств самое маленькое.

Сначала мы "просканим" первое множество, выпишем из него все оригинальные элементы, а неоригинальные элементы запишем ниже. т.е., предположительно, можно создать двумерный вектор. (можно 4 вектора)

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

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

Т.е., если в среднем не оказалось "0", а он есть в самом маленьком множестве, то мы запишем 42 (это будет число х, которое нужно будет для сравнения).

на выходе, мы получим, например, такой двумерный массив:


1 2 3 4 5 6 7 10 23 - оригинальные элементы первого множества
2 4 5 1 1 1 6 1 5 - количество их встреч
1 1 7 1 1 2 3 42 42 - кол-во встреч в среднем
1 42 1 1 1 8 4 42 42 - кол-во встреч в большом
потом смотрим по столбцам и ищем где нет 42 (в столбце) и наименьшее:

ответ будет такой: 1, 3, 4, 5, 6, 7, 7, 7
 
Текущее время: 15:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru