Прокомментируйте по шагам данный алгоритм (построчно). Суть
во всех последовательностях позитивных чисел изменяет порядок элементов на противоположный. Напишите в общем ввиде алгоритм. Что происходит.
п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
во всех последовательностях позитивных чисел изменяет порядок элементов на противоположный. Напишите в общем ввиде алгоритм. Что происходит.
п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