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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2013, 17:43   #1
Casillas1
Пользователь
 
Регистрация: 29.04.2013
Сообщений: 55
По умолчанию Массивы символов

отсортировать массив целых чисел методом пузырька размерностью 10. на Турбо Паскаль

Последний раз редактировалось Casillas1; 02.06.2013 в 18:00.
Casillas1 вне форума Ответить с цитированием
Старый 02.06.2013, 18:04   #2
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

у меня уже есть готовая программа

Код:
#include <iostream>
#include <windows.h>

template<typename T>
bool MinToMax(const T &a, const T &b);

template<typename T>
bool MaxToMin(const T &a, const T &b);

template<typename T>
void Swap(T &a, T &b);

template<typename T>
void BubbleSort(T vector[], unsigned int size, bool (*Func)(const T &, const T &));


int main()
{
	const int SIZE=10;
	int massive[SIZE]={5,4,6,3,7,2,8,1,9,0};

	BubbleSort(massive, SIZE, MinToMax); // по возрастанию

	for (int i=0; i<SIZE; i++)
		std::cout << massive[i] << " ";


	std::cout << std::endl;
        system("pause");
        return 0;
}

template<typename T>
bool MinToMax(const T &a, const T &b)		{ return a<b; }

template<typename T>
bool MaxToMin(const T &a, const T &b)		{ return a>b; }

template<typename T>
void Swap(T &a, T &b)
{
	T temp=a;
	a=b;
	b=temp;
}

template<typename T>
void BubbleSort(T vector[], unsigned int size, bool (*Func)(const T &, const T &))
{
	for (unsigned int pass=1; pass!=size; ++pass)
	{
		bool flag=false;		// в этом проходе были перестановки?

		for (unsigned int i=0; i!=size-1; ++i)
			if (!Func(vector[i], vector[i+1]))
			{
				Swap(vector[i], vector[i+1]);
				flag=true;
			}

		if (!flag) break;		// если в этом проходе не было перстановок - выход из цикла
	}
}
revizor вне форума Ответить с цитированием
Старый 02.06.2013, 19:05   #3
Casillas1
Пользователь
 
Регистрация: 29.04.2013
Сообщений: 55
По умолчанию

Цитата:
Сообщение от revizor Посмотреть сообщение
у меня уже есть готовая программа

Код:
#include <iostream>
#include <windows.h>

template<typename T>
bool MinToMax(const T &a, const T &b);

template<typename T>
bool MaxToMin(const T &a, const T &b);

template<typename T>
void Swap(T &a, T &b);

template<typename T>
void BubbleSort(T vector[], unsigned int size, bool (*Func)(const T &, const T &));


int main()
{
	const int SIZE=10;
	int massive[SIZE]={5,4,6,3,7,2,8,1,9,0};

	BubbleSort(massive, SIZE, MinToMax); // по возрастанию

	for (int i=0; i<SIZE; i++)
		std::cout << massive[i] << " ";


	std::cout << std::endl;
        system("pause");
        return 0;
}

template<typename T>
bool MinToMax(const T &a, const T &b)		{ return a<b; }

template<typename T>
bool MaxToMin(const T &a, const T &b)		{ return a>b; }

template<typename T>
void Swap(T &a, T &b)
{
	T temp=a;
	a=b;
	b=temp;
}

template<typename T>
void BubbleSort(T vector[], unsigned int size, bool (*Func)(const T &, const T &))
{
	for (unsigned int pass=1; pass!=size; ++pass)
	{
		bool flag=false;		// в этом проходе были перестановки?

		for (unsigned int i=0; i!=size-1; ++i)
			if (!Func(vector[i], vector[i+1]))
			{
				Swap(vector[i], vector[i+1]);
				flag=true;
			}

		if (!flag) break;		// если в этом проходе не было перстановок - выход из цикла
	}
}
мне на турбо паскаль
Casillas1 вне форума Ответить с цитированием
Старый 02.06.2013, 19:13   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

У Вас два варианта:
1. Писать на Паскале самому.
2. Перевести на Паскаль то, что имеется.
s-andriano вне форума Ответить с цитированием
Старый 02.06.2013, 21:35   #5
Casillas1
Пользователь
 
Регистрация: 29.04.2013
Сообщений: 55
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
У Вас два варианта:
1. Писать на Паскале самому.
2. Перевести на Паскаль то, что имеется.
у меня ни одного варианта нету(
Casillas1 вне форума Ответить с цитированием
Старый 02.06.2013, 22:00   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
у меня ни одного варианта нету(
Да ну бросьте! Армия ждет Вас. А это не самый плохой вариант.. так и кормят и поят

Еще не очень видна связь между названием темы и заголовком. Вы уж как-то определитесь.. Кстати, позвольте открыть Вам один секрет : наверное, "пузырек" изобрели не вчера, и в интернете (я даже сужу Ваш круг поиска, на форуме) не однократно писался код этой сортировки.
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
строки-массивы символов choc Общие вопросы C/C++ 9 09.05.2013 18:29
Массивы сравнение символов jasul Общие вопросы C/C++ 3 27.10.2011 18:14
Массивы символов с++ chagin_yav Помощь студентам 2 04.01.2008 19:14
Массивы символов (строки) символьные файлы. anarchist Помощь студентам 2 24.12.2007 09:16