Добавлен , опубликован
Данный проект предназначет для публикаций всевозможных алгоритмов на любом из языков программирования (предпочтение отдается C++ / C# / Java / Javascript / Python)

Что такое алгоритм?

Алгоритмы окружают нас повсюду. По их принципам существует животный мир, люди, работают компьютеры и механизмы. Некоторые из них очевидны, другие же скрыты от глаз (но это не значит, что их нет).
Алгоритм в информатике — это последовательность действий, которая направлена на достижение окончательного решения проблемы наиболее оптимальными и эффективными способами.
Существует версия, что термин алгоритм произошел от имени древнего ученого Аль-Хорезми, который написал трактат «Книга о сложении и вычитании».
Позднее один из переводчиков на латинский язык неправильно перевел имя ученого и вынес его в название книги — «Алгоритмии о счете индийском». Так этот термин проник в европейские языки и закрепился в них.
Существуют сложные и легкие алгоритмы. Для решения одних не требуется усилий, а для других не хватит и всей мощности компьютеров.

Как должен выглядеть ресурс с ​Алгоритмом на примере "​Быстрой сортировки"

Быстрая сортировка, сортировка Хоара (англ. quicksort), — алгоритм сортировки, разработанный английским информатиком Чарльзом Хоаром во время его работы в МГУ в 1960 году.
Один из самых быстрых известных универсальных алгоритмов сортировки массивов: в среднем O ( n log n ) обменов при упорядочении n элементов; из-за наличия ряда недостатков на практике обычно используется с некоторыми доработками.
#include <iostream>
#include <list>

int main()
{
	// quick sort
	std::list<int> list;
	const int N = 20;
	
	for (int i = 0; i < N; i++)
	{
		if (i % 2 == 0)
			list.push_back(N - i);
		else
			list.push_front(N - i);
	}

	for (std::list<int>::iterator it = list.begin(); it != list.end(); it++) {
		std::cout << (*it) << " ";
	}

	std::cout << std::endl;
	list.sort();
	
	for (std::list<int>::iterator it = list.begin(); it != list.end(); it++) {
		std::cout << (*it) << " ";
	}

	//quick sort end
	std::cout << std::endl;
	//sort greater
	list.sort(std::greater<int>());

	for (std::list<int>::iterator it = list.begin(); it != list.end(); it++) {
		std::cout << (*it) << " ";
	}

	std::cout << std::endl;
	//sort greater end
	std::cin.ignore();
}
`
ОЖИДАНИЕ РЕКЛАМЫ...
19

Алгоритм подгрузки своего mpq | C++

StormOpenArchive - функция, полученная из Storm.dll. Первый аргумент - имя mpq, второй - приоритет, третий - флаг, четвертый - место загрузки.
Скомпилированный mix будет работать даже в редакторе карт.
#include <windows.h>

// Получение Storm.dll
HMODULE hStorm = LoadLibrary("Storm.dll");

// Создание функции
bool StormOpenArchive(LPCSTR lpArchiveName, DWORD dwPriority, DWORD dwFlags, HANDLE* hMPQ)
{
	// Получение функции по её адресу. Номер функции подгрузки mpq = 266.
	return (reinterpret_cast<bool(CALLBACK*)(LPCSTR, DWORD, DWORD, HANDLE)>(GetProcAddress(hStorm, (LPCSTR)266))(lpArchiveName, dwPriority, dwFlags, hMPQ));
}

// Точка входа
BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
	if (ul_reason_for_call == DLL_PROCESS_ATTACH)
	{
		HANDLE hMPQ = NULL;
		// Вызов функции для подгрузки Test.mpq с приоритетом 9 и флагом 0. В случае неудачи, выводится соответствующие сообщение.
		if(!StormOpenArchive("Test.mpq", 9, 0, &hMPQ))
			MessageBox(0, "Couldn't open Test.mpq", "Error", MB_OK | MB_ICONERROR);
	}
	return TRUE;
}
38
Почему не проект программирование? Сделали бы категорию с нужными полями как в вц3
29
ScorpioT1000, хотел сделать как субпроект к программированию, но программирование уже является дочерним от gamedev. Цепное наследование было бы кстати
38
Странно, что он дочерний геймдев, если геймдевом это не всегда является. Может, снять?
23
Msey, можно заявку на алгоритм? Хотелось бы узнать как написать функцию для нормально распределённой величины на JASS из равномерного распределения c заданным матожиданием и сигмой. Обычно для этого используется алгоритм Бокса-Мюллера, но для него нужна функция натурального логарифма, которой в JASS нет.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.