!KENT K !KENT Регистрация 31 Окт 2013 Сообщения 92 Репутация 0 Спасибо 0 Монет 0 3 Май 2016 #1 Прокомментируйте по шагам данный алгоритм (построчно). Суть во всех последовательностях позитивных чисел изменяет порядок элементов на противоположный. Напишите в общем ввиде алгоритм. Что происходит. п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
ивангн И ивангн Регистрация 20 Ноя 2013 Сообщения 88 Репутация -3 Спасибо 1 Монет 0 3 Май 2016 #2 Подскажу с одним, дальше времени нет. generate_n(vNumbers.begin(), 100, random); Функция заполнения вектора. Вектор vNumbers начиная с начала 100 раз будет заполняться рандомом. То есть все 100 элементов вектора будут рандомные. Позитивный голос 0
Подскажу с одним, дальше времени нет. generate_n(vNumbers.begin(), 100, random); Функция заполнения вектора. Вектор vNumbers начиная с начала 100 раз будет заполняться рандомом. То есть все 100 элементов вектора будут рандомные.
Безумный Джо Б Безумный Джо Регистрация 29 Июл 2013 Сообщения 102 Репутация 2 Спасибо 1 Монет 0 3 Май 2016 #3 по моему будет проще самому написать программу, а не сдёргивать из интернета непонятно что Позитивный голос 0