Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Обратный порядок элементов в одномерном массиве


Автор: Torres 30.10.2012, 19:30
товарищи, выручайте, необходимо изменить порядок следования элементов массива a[n], расположенных между первым положительным и последним отрицательными элементами, на обратный. номера первого положительно и последнего отрицательного нашёл. Как изменить порядок элементов между ними?? 

Автор: feodorv 30.10.2012, 20:04
Загляните в http://forum.vingrad.ru/index.php?showtopic=243650&view=findpost&p=1756071 smile 

Автор: Torres 30.10.2012, 20:08
в том то и дело я знаю как в обратном порядке пустить весь массив, я не понимаю как пустить элементы в обратном порядке именно между 2-мя выбранными! какое налаживать условие?

Автор: feodorv 30.10.2012, 20:13
Цитата(Torres @  30.10.2012,  21:08 Найти цитируемый пост)
именно между 2-мя выбранными!

Ну а что здесь такого?
Код

void mirror (int * begin, int * end) 
{
   for (--end; begin<end; ++begin, --end)
   std::swap (*begin, *end);
}

...
mirror( &a[start], &a[finish]);
...

Автор: volatile 30.10.2012, 21:22
Цитата(feodorv @  30.10.2012,  20:13 Найти цитируемый пост)
 std::swap 

почему тогда сразу не std::reverse?
 smile 

feodorv, шютка.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)