Вопрос Как работает этот вектор построчно? - C++

Статус
В этой теме нельзя размещать новые ответы.
Регистрация
31 Окт 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Прокомментируйте по шагам данный алгоритм (построчно). Суть
во всех последовательностях позитивных чисел изменяет порядок элементов на противоположный. Напишите в общем ввиде алгоритм. Что происходит.
п1 подключаем хедеры
п2 генерим случайное число от минус 50 до +50
п3 создаем вектор на 100 элементов. А что дальше?
вот код
#include "stdafx.h"
#include
#include
#include
#include
#include
using namespace std;
int random()
{
return (rand() % 101) - 50;
}
int main(void)
{
vector vNumbers(100);
generate_n(vNumbers.begin(), 100, random);
vector::iterator itrBegin = vNumbers.begin(),
itrEnd = vNumbers.begin();
cout << "Before: ";
copy(vNumbers.begin(), vNumbers.end(), ostream_iterator(cout, " "));
cout << endl;
while ((itrBegin = find_if(itrEnd, vNumbers.end(), bind2nd(greater(), 0))) !=
vNumbers.end())
{
itrEnd = find_if(itrBegin, vNumbers.end(), bind2nd(less(), 0));
reverse(itrBegin, itrEnd);
}
cout << " After: ";
copy(vNumbers.begin(), vNumbers.end(), ostream_iterator(cout, " "));
cout << endl;
system("pause");
return EXIT_SUCCESS;
}
//otvet.imgsmail.ru/download/17416154_463798dd80ac05151ff8672b2868e798_800.jpg
 
Подскажу с одним, дальше времени нет. generate_n(vNumbers.begin(), 100, random); Функция заполнения вектора. Вектор vNumbers начиная с начала 100 раз будет заполняться рандомом. То есть все 100 элементов вектора будут рандомные.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху