|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.01.2019, 22:39 | #1 |
Регистрация: 27.01.2019
Сообщений: 3
|
Указатели на функции(C/С++)
Код:
1) Есть 3 функции, они вычисляют элемент из определенного ряда. (3-й ряд - ряд Фибоначчи, 2 остальные сделаны по его подобию.) 2) Какую функцию использовать, необходимо выбрать с помощью указателей на функцию. (В оригинале задача состоит в том, что бы убрать из main(); оператор switch/case.) Теперь ошибки: Программа работает ровно до момента считывания номера числа из ряда. Понимаю, что проблема моя только в том, что я не знаю теории, но перерыв весь мне доступный интернет, я не нашел ответов, если у вас есть время кинуть ссылку на хорошую статью, где я бы мог понять свою ошибку, буду благодарен, если уделите время написав сообщение об ошибке именно в этом коде, я буду счастлив. |
28.01.2019, 02:43 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Код:
Код:
|
28.01.2019, 10:43 | #3 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 729
|
- вот ошибка. Нужно 48 вычитать(а не 49) для преобразования кода числа к самому числу. Сами посмотрите таблицу ASCII.
Что-то числа Фибоначчи как-то неправильно здесь считаются. Не так они считаются по-моему. Правильно? Последний раз редактировалось Cuprum5; 28.01.2019 в 10:49. Причина: Добавил фразу. |
28.01.2019, 10:50 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,695
|
Если потом код отнять, то норм. Другое дело, что надо чар использовать, инт может вызвать интересные эффекты.
Нет тут ошибки. Сами посмотрите таблицу и код. ТС вводит номер пункта от 1, а массив нумеруется с 0. Отнятием кода "1" это решается. |
28.01.2019, 11:51 | #5 |
Регистрация: 27.01.2019
Сообщений: 3
|
Проблема решена
Спасибо всем за то что откликнулись, проблема заключалась правда в использовании _getche для переменной zuck в функции main(), заменив на cin (думаю с scanf_s заработает так же) все заработало.
Код:
|
28.01.2019, 12:15 | #6 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 729
|
Так а что с числами Фибоначчи? У меня не работает. Да и числа Фибоначчи не так считаются.
|
28.01.2019, 20:13 | #7 |
Регистрация: 27.01.2019
Сообщений: 3
|
Да нет, все работает. Возможно вы считаете, что ряд Фибоначчи начинается с 0, 1, но как я знаю вариант с 1, 1 в начале так же является правильным.
Только что проверил проверил программу и на 6 число в последовательности выдает 8, а на 7 число последовательности выдает 13, все работает как часы. На всякий случай напишу как работает рекурсия: На число 1 и 2, то есть на 1-ое и 2-ое число последовательности, машина выдает 1, как уже говорил из-за того, что я взял 1, 1, ... как начало ряда, можно поменять Код:
Код:
Честно не понимаю, где у вас не работает. Напомню, что ряд Фибоначчи это 3 программа (2 остальные это ряд имени меня любимого,построенные для тренировки рекурсивных функций), значит нужно сначала выбрать 3, потом вести номер последовательности. Последний раз редактировалось BigChungus; 28.01.2019 в 20:50. Причина: Дописал. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функции и указатели (СИ) | ЕвгенийАйтишник | Помощь студентам | 0 | 26.06.2012 17:39 |
функции и указатели на C++ | IcE^BeaR | Помощь студентам | 4 | 04.06.2012 18:45 |
Указатели на функции (си) | Miles | Помощь студентам | 3 | 08.01.2012 23:30 |
Указатели на функции | profi | Общие вопросы C/C++ | 20 | 12.07.2010 14:11 |
указатели на функции | MeGaTpoH | Общие вопросы C/C++ | 2 | 18.06.2009 16:27 |