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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2013, 13:49   #11
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Вот набросал код. Могу ошибатся в языке, давно на нем не писал... но суть должна быть ясна.

Функция Sort возвращает список индексов в порядке возрастания параметра с.

Код:
struct toy
{int a;//нижня граница
 int b;//верхня граница
 int c;//разница границ
};

toy CreateToy(int low, int hi)// типа конструктор не помню как по другому
{
   toy res;
   res.a = low;
   res.b = hi;
   res.c = hi - low;
   return res;
}

bool Exist(int value, int* List, int len) // проверяет наличие элемента в списке
{
	for(int i=0;i<len;i++)
	{
		if (List[i] == value) return true;

	}
	return false;
}

int* Sort(toy* List)
{
	int res[3] = {-1,-1,-1};
	int last = 1000000;
	int index = -1;
	int resindex = 0;
	bool breaks = false;
	while(!breaks)
	{
		index = -1;
		last = 100000;
		breaks = true;
	   for(int i=0;i<3;i++)
	   {
			if (Exist(i, res, 3))continue;
			if (List[i].c < last) {
			 last = List[i].c;
			 index = i;
			 breaks = false;
			 continue;
			}
	   }
	   if (index!=-1) {
			res[resindex++] = index; // тут сохраняем индекс минимального элемента
	   }
	}
	return res;
}

int main(int argc, char* argv[])
{
	int arr[3];
	toy ToysList[3];

	//4-7
	//1-3
	//10-11

	ToysList[0] = CreateToy(4,7);
	ToysList[1] = CreateToy(1,3);
	ToysList[2] = CreateToy(10,11);

	int* res = Sort(ToysList );
	for (int i = 0; i < 3; i++) {
	  arr[i] = *res++;
	}

	return 0;
}
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 11.05.2013, 14:11   #12
Vasya94
Пользователь
 
Регистрация: 20.04.2013
Сообщений: 55
По умолчанию

Спасибо большое)
Vasya94 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Быстрая сортировка(сортировка хаора) с++ LustHunter Помощь студентам 3 07.10.2011 19:37
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32