1 / 1 / 0
Регистрация: 24.06.2010
Сообщений: 55
|
|
1 | |
В новый динамический массив выписать все элементы массива, которые делятся на заданное число12.08.2011, 17:38. Показов 6279. Ответов 24
Метки нет (Все метки)
Помоготи с простенькой задачей:
Дан массив произвольных чисел необходимо в новый динамический массив выписать все элементы, которые делятся на число "k" А именно перебрать все элементы массива и, если число делится на k, то расширить динамический массив на один элемент и сохранить значение. Заранее спасибо) Очень выручите))
0
|
12.08.2011, 17:38 | |
Ответы с готовыми решениями:
24
Подсчитать количество элементов массива, которые нацело делятся на заданное число K Выписать все четные элементы массива и переписать их в другой массив Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) Все элементы массива которые не делятся на 5, но делятся на 7 заменить нулями и вывести весь массив |
1 / 1 / 0
Регистрация: 24.06.2010
Сообщений: 55
|
|
12.08.2011, 17:57 [ТС] | 3 |
Спасибо, конечно.
Но вот что делать при полном их отсутсвии? Меня интересует именно та часть которая расширяет уже существующий массив на один элемент и не один раз
0
|
Заблокирован
|
|
12.08.2011, 18:04 | 4 |
0
|
Заблокирован
|
|
12.08.2011, 18:08 | 5 |
Тут все зависит от двух факторов: 1) на каком языке программирования, С или С++, вам надо решить задачу; 2) какой материал по языку вы проходили.
Например, если речь идет о С++, то обычно под динамическими массивами понимают шаблонный класс вектор. А если речь идет о С, то надо будет пользоваться функцией realloc/ На С++ ваша задача решается впару строчек посредством использования алгоритма std::copy_if и итератора вставки. Проблема в том, что вы скорей не знакомы с этими конструкциями языка.
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
12.08.2011, 18:14 | 6 |
На всякий случай: в текущий стандарт алгоритм copy_if не входит. Хотя некоторые системы уже поддерживают.
0
|
Заблокирован
|
|
12.08.2011, 18:30 | 7 |
Страуструп в своей новой книге "программирование. Принципы и практика использования С++" утверждает, что этот алгоритм уже включен в стандарт. Дело в том, что могут выходить дополнения и изменения к стандарту между принятиями очередных редакций стандарта.
0
|
Higher
|
||||||
12.08.2011, 18:38 | 9 | |||||
А зачем он, если remove_copy_if есть?
Небольшой быдлокод:
0
|
Заблокирован
|
|
12.08.2011, 18:45 | 10 |
С++0ч - это не стандарт. А страуструп утверждает, что алгоритм входит в стандарт. Как я уже сказал, нужно смотреть документы, которые выпускаются к стандарту в период между появлениями следующей редакции стандарта. То есть к стандарту 2003 года могли быть выпущены дополнения отдельными документами.
0
|
Freelance
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
12.08.2011, 18:52 | 11 |
Ок. Это будущая версия стандарта, который будет иметь название С++11, так норм ?
В С++03 ? Чушь.
1
|
Higher
|
|
12.08.2011, 19:03 | 13 |
Вы про что, про условие удаления что ли?
Я просто обезопасился от того, что k может быть нулем и может произойти деление на нуль. А так как второе условие после || и подобных операторов не вычисляется, если первое истина, то деления на нуль не произойдет.
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
12.08.2011, 19:09 | 14 |
Не было дополнений...
На РСДН давно бы уже написали об этом. Там народ бдит очень внимательно за новыми доками.
0
|
Заблокирован
|
|
12.08.2011, 19:12 | 15 |
а tr1 и tr2 за дополнения не считаются?
0
|
Заблокирован
|
|
12.08.2011, 19:22 | 16 |
Стр. 793: "Из-за моей ошибки этот алгоритм выпал из стандарта 1998 ISO Standard. В настоящее время эта ошибка исправлена, но до сих пор встречаются реализации языка С++, в которых неталгоритма copy_if...."
Так что сообщите Страуструпу, что он несет чушь!
0
|
Freelance
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
12.08.2011, 19:29 | 17 |
Он утверждает, что
следовательно в стандарте 2003(т. е. нынешнем) года он должен быть, смотрю документ INTERNATIONAL STANDARD ISO/IEC 14882 Second edition 2003-10-15 - его там нет, как прикажете такое понимать ?
0
|
Freelance
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
12.08.2011, 19:31 | 19 |
И что в этом удевительного ? VS10 частично поддерживает C++0x, это давно известно.
0
|
Заблокирован
|
|
12.08.2011, 19:33 | 20 |
Так и понимать, как я предполагаю, что возможно после 2003 года вышел официальный документ, который поправляет стандарт. Например, для С, принятого в 1989 году, в 1995 году выходил дополнительный документ, который не входил в текст стандарта (текст стандарта, как был принят, так уже не менялся, который вносил изменения в стандарт.
0
|
12.08.2011, 19:33 | |
12.08.2011, 19:33 | |
Помогаю со студенческими работами здесь
20
Перенести в новый массив все элементы исходного, которые делятся на 3 Двумерный массив. Сформировать из элементов массива одномерный массив, в который поместить все нечетные элементы, которые делятся на 3 Построить новый массив, увеличивая элементы исходного массива на заданное число Сумма элементов массива, которые без остатка делятся на заданное число Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |