Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2008, 20:55   #1
insi
Новичок
Джуниор
 
Регистрация: 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))
);
}
insi вне форума Ответить с цитированием
Старый 17.05.2008, 12:25   #2
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

За деньги только если.
merax вне форума Ответить с цитированием
Старый 17.05.2008, 18:30   #3
insi
Новичок
Джуниор
 
Регистрация: 16.05.2008
Сообщений: 0
По умолчанию

Смотря за какие... Сколько хотите?
insi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода [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