![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
TarasProger |
|
||||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
1. Максимум линейного массива:
Не проверяет валидность указателя на массив и фактическое количество элементов, полностью полагаясь на вызывающий код. Находит указатель на максимальный элемент массива. Если требуется значение элемента, указать надо разыменовать:
2. Минимум линейного массива: template <typename Type> Type *Min(Type *Data, size_t Count) { Type *End; Type *Result; for (End=Data+Count-1, Result=Data, ++Data; Data<=End; ++Data) { if ((*Data)<(*Result)) { Result=Data; } } return Result; }. Не проверяет валидность указателя на массив и фактическое количество элементов, полностью полагаясь на вызывающий код. Находит указатель на минимальный элемент массива. Если требуется значение элемента, указать надо разыменовать:
3. Средее арифметическое линейного массива:
Не проверяет валидность указателя на массив и фактическое количество элементов, полностью полагаясь на вызывающий код. Не безопасна относительно переполнения типа. Округляет до результа до точности базового типа массива, причём, по правилам, действующим для оператора деления операндов этого типа. Это сообщение отредактировал(а) TarasProger - 13.8.2015, 15:43 |
||||||||||||
|
|||||||||||||
TarasProger |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
4. Пузырьковая сортировка линейного массива по возрастанию:
Не проверяет валидность указателя на массив и фактическое количество элементов, полностью полагаясь на вызывающий код. Время работы функции с ростом количества элементов растёт квадратично.. 5. Пузырьковая сортировка линейного массива по убыванию:
Не проверяет валидность указателя на массив и фактическое количество элементов, полностью полагаясь на вызывающий код. Время работы функции с ростом количества элементов растёт квадратично.. Это сообщение отредактировал(а) TarasProger - 13.8.2015, 10:37 |
||||
|
|||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
Тему нужно переименовать в "как не нужно писать программы"
|
|||
|
||||
TarasProger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Энто с какого?
|
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
TarasProger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
|
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
да фиг с ним с нулевым размером (хотя это первый признак вшивости.)
но оно и с обычными то не работает среднее значение 10 и 12, оказывается рано 6 http://codepad.org/WiZgbfqG TarasProger, мне честно говоря не хочется тратить время на полное обсуждение ваших поделок. просто предупредил новичков чтобы не думали что в этой теме следует чему-то учиться удачи |
|||
|
||||
TarasProger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Исправил.
Добавлено через 13 минут и 21 секунду
1. Когда нибудь додумаешься передать какой нибудь массив какой нибудь мелкомягкой функциии, а их глючность всем известна. 2. Даже если и нет, эйси, проверяет массив функция, которая массив должна обработать. И что она должна сделать? Причём, вызвана она может быть из тысяч мест, в каждом из которых ты будешь вынужден проверять уже её результат. При этом не очень то понятно, как на него реагировать. Это вместо того, чтоб до функии просто не дойти. |
|||
|
||||
TarasProger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Причём, если на nullptr функция ещё может обработать, то проверить валидность указателя и фактическое количество элементов она не может в приципе, при создании же массива известно, какого размера он задуман и он или создаётся имеено такого размера, или не создаётся вовсе, при этом повзращается не мусорный указатель, а nullptr. Так зачем раскидывать по функциям проверки, которые всё равно не будут работать?
|
|||
|
||||
TarasProger |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 5.8.2015 Репутация: нет Всего: нет |
Да, в Ave при нулевой длине фигня получится дальге. При деление на 0. А в сортирках не получится.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |