|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.05.2008, 20:55 | #1 |
Новичок
Джуниор
Регистрация: 16.05.2008
Сообщений: 0
|
Оптимизация кода программы
Помогите пожалуйста разобраться, хотелось бы чтобы это прграммка наконец-то заработала. Задача такая:
Одномерный массив целых чисел, размер которго задается с клавиатуры. Запрограммировать следующие действия с массивом: 1. циклически сдвигать на К позиций влево; 2. выяснить, упорядочены ли элементы массива по невозрастанию или неубыванию; 3. если в исходном массиве количество положительных значений меньше, чем отрицательных, то создавать новый массив для отрицательных значений, в противном случае - создавать массив для положительных значений и переписывать в него соответствующие значения исходного массива. В приложении необходимо: 1. Для временного хранения наборов значений использовать только временные динамические массивы; 2. Программирование заданных действий производить с использованием указателей; 3. Вывод результатов оформлять в виде таблицы; 4. Создать пользовательсике функции; 5. В приложении необходимо обеспечить возможность выбора конкретного действия; 6. В приложении необходимо обеспечить возможность повторного выполнения задания без перезапуска приложения; Код: int N; cin>>N; int *pm=new int[N]; // arr = указатель на первый элемент массива // N = количество элементов в массиве // shift = куда и на сколько двигать // проверки на валидность отсутствуют template <typename T> void rotate(T* arr, size_t N, typename std::iterator_traits<T>:ifference _type shift) { if (shift < 0) shift = N+shift; std::rotate(arr, arr+shift, arr+N); } // Невозрастающая template <typename T> bool nonincreasing(T* arr, size_t N) { return std::adjacent_find(arr, arr+N, std::less<T>()) == arr+N; } // Неубывающая template <typename T> bool nondecreasing(T* arr, size_t N) { return std::adjacent_find(arr, arr+N, std::greater<T>()) == arr+N; } // двойной проход template <typename T> std:: pair<size_t, size_t> posneg_count(T* arr, size_t N) { return std::make_pair( std::count_if(arr, arr+N, std::bind2nd(std::less<T>(), 0)), std::count_if(arr, arr+N, std::bind2nd(std::greater<T>(), 0)) ); } |
17.05.2008, 12:25 | #2 |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
За деньги только если.
|
17.05.2008, 18:30 | #3 |
Новичок
Джуниор
Регистрация: 16.05.2008
Сообщений: 0
|
Смотря за какие... Сколько хотите?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация кода | [Smarik] | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 20.08.2008 15:00 |
Оптимизация кода. | MAKTECYMA | Общие вопросы C/C++ | 2 | 05.06.2008 16:48 |
Нужна оптимизация дельфинского кода | JTG | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 29.05.2008 14:53 |
Коррекция кода программы в режиме Runtime | Simply-Art | Общие вопросы Delphi | 5 | 12.03.2007 15:33 |