|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
|||||||||||
Реализовать код данной функции, но через рекурсию21.04.2013, 22:06. Показов 3187. Ответов 31
Метки нет (Все метки)
Добрый вечер. Прошу помочь реализовать функцию Mult с помощью рекурсии. Там формируется матрица произведений. Вот сделть, чтобы она формировалась рекурсивно. Эта функция находится в function.cpp. Заранее большое спасибо за ответы и советы)
Собственно вот задание Имеется 2*N чисел. Известно, что их можно разбить на пары таким образом, что произведения чисел в пара:х равны. Сделать разбиение, если числа: а) натуральные; б) целые. Решение: В качестве входных данных будет массив, записанный в файл. Количество элементов в нем должно быть четное, для того, чтобы можно было сформировать пары чисел. Задача будет решена путем построения двумерной матрицы (n*n), где n – количество элементов в исходном массиве. Каждый элемент такой матрицы будет содержать произведение элементов из исходного массива, рассматриваемого относительно индексов в двумерном массиве. Например, в двумерной матрице элемент с индексами (1,2) будет являться произведением элементов из исходного массива с индексами (1) и (2) соответственно. Если исходный массив можно разбить на пары чисел с одинаковым произведением между ними, то любая строка двумерной матрицы будет содержать одно повторяющееся значение. Цель программы – построить двумерную матрицу и отыскать такое произведение. Отыскав это произведение, будет несложно построить пары чисел с одинаковым произведением. Замечание: исходные пары будут содержать числа в единственном экземпляре, или другими словами, повторяющиеся пары не будут учитываться. Это будет продемонстрировано в контрольном примере ниже. Программа написана таким образом, что она учитывает сразу 2 варианта задания, когда числа натуральные и когда числа целые. Я не прикрепил файл с входными данными и заголовочный файл. файл Function.cpp
0
|
|||||||||||
| 21.04.2013, 22:06 | |
|
Ответы с готовыми решениями:
31
Реализовать перебор поддиректорий через рекурсию Реализовать вывод чисел в диапазоне от 10 до 25 через рекурсию Реализовать вывод чисел в диапазоне от 10 до 25 через рекурсию |
|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
|
| 22.04.2013, 13:06 [ТС] | |
|
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 22.04.2013, 13:23 | ||||||
|
Ну тогда вот
1
|
||||||
|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
|||||||||||
| 22.04.2013, 15:33 [ТС] | |||||||||||
|
kravam, Спасибо за код. Я тут пытался скомпилировать с этими исправлениями. Подправил исходный код, удалил лишнее, но в одном месте ошибка. Но я подозреваю, что исправив её, получится ещё море их.
файл: function.cpp
c 90 по 113 строку вставил Ваш кусок в файл Фанкшн с 65 по 69 строку вставил Ваш кусок в файл Майн, ошибка в 69 строке. не определён индификатор пишет. Может из-за области видимости в мейне не передаётся эта функция? Можете дать подсказку, как ввести программу в эксплуатацию?
0
|
|||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 22.04.2013, 17:49 | |
|
А где файл Function.h?
0
|
|
|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
||||||
| 22.04.2013, 17:51 [ТС] | ||||||
|
Я думал не надо. Там ж прототипы только.
файл Function.h
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 22.04.2013, 18:02 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
|
| 22.04.2013, 18:14 [ТС] | |
|
Ой она в другом файле. тогда я в заголовочном её прототип напишу и вызову эту функцию в main.
Добавлено через 2 минуты kravam, вышло. теперь программа согласно коду распечатывает 1. А как теперь сделать вывод пар в новом коде?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 22.04.2013, 18:20 | ||||||
|
Да чёрт его знает, это надо со всем кодом разбираться. А в моём коде вот так:
1
|
||||||
|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
|
| 22.04.2013, 18:40 [ТС] | |
|
kravam, Спасибо большое.
Т.е в ответ на исходные данные (4 6 3 2 1 12), программа выдаёт: 1 //значит, что пары нашлись и 4 -1414812757 6 -33686019 3 12 2 1 4,6,3,2,1,12 это как раз и есть значения, из которых формируется произведение. А два посторонних значения - это издержки?? И т.е надо как-то придумать, как из данных значений составить пары? И ещё, а рекурсивность где конкретно проявляется?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 22.04.2013, 18:54 | |
|
Ты на мой код посмотри, у меня массив отсортированный, а
4 6 3 2 1 12 неотсортированный. Отсортируй, вставь в мою программу, измени razmer и всё будет круто. Рекурсивность в том проявляется, что f вызывает сама себя
0
|
|
|
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 34
|
|
| 22.04.2013, 19:47 [ТС] | |
|
Да, точно. Всё получилось так, как и нужно. просто в неотсортированном при операциях этих, видать за диапазон выходили.
Ещё раз большое-пребольшое спасибо! Добавлено через 11 минут А как запустить проверку на то, если пары сформировать не удалось, т.к даже если нет этих пар, они всё равно формируются, но не правильно? Добавлено через 23 минуты Пытаюсь сделать, чтоб для несоставлямой цепочке пары не создавались. Ф-ия bool f в файле Function возвращает в случае успеха (return 1), неуспеха (return 0). И теперь в файле Main создал переменную для записи туда значения, которое возвращает туда эта функция. Так вот как взять это возвращаемое значение?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 22.04.2013, 20:47 | |
|
Да просто много вопросов в одной теме. Я подписывался на рекурсивное нахождение пар, не более.
0
|
|
| 22.04.2013, 20:47 | |
|
Как реализовать сортировки вставками и выбором через рекурсию? Реализовать функцию для подсчёта суммы элементов массива через рекурсию
Описание функции через рекурсию Вычисление значение функции через рекурсию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|