Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
yourchoice17
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 7
#1

Ввод функции с клавиатуры - C++

12.05.2011, 21:45. Просмотров 2068. Ответов 17
Метки нет (Все метки)

Здравствуйте. Необходима помощь в написании программы на С. Программа поиска минимума и максимума функции методом кого-то. С методом может еще разберусь, проблема - как сделать, чтобы пользователь сам вводил функцию с клавиатуры, и программа с ней работала? Функция может быть нескольких переменных. Помогите пожалуйста, можно на словах, в каком направлении вообще мыслить, или с кодом, кто сможет...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод функции с клавиатуры (C++):

Ввод функции с клавиатуры - C++
Доброго времени суток! Подскажите пожалуйста, как можно осуществить ввод функции одной переменной? Облазил весь и-нет, но так и не...

Ввод функции (аналитического выражения) с клавиатуры - C++
Возникла следующая проблема, преподаватель хочет что-бы в моей программе был ввод функции с клавиатуры, функции типа f(x)=x^2+4*x,...

Реализовать функции, обеспечивающую ввод данных с клавиатуры и их проверку на корректность - C++
1. Реализовать функцию, обеспечивающую ввод данных с клавиатуры и их проверку на корректность; тип и диапазон значений определить...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур - C++
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Как правильно заменить ввод данных простой на ввод с клавиатуры? - C++
#include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) ...

Ввод с клавиатуры - C++
Помогите пожалуйста переделать программу, чтобы значения n - вводилось с клавиатуры и определяло количество елементов Х и У( по...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
12.05.2011, 22:01 #2
Надо пропарсить строку и перевести ее в дерево, с которым потом работать.
yourchoice17
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 7
13.05.2011, 00:06  [ТС] #3
А могли бы вы пояснить на примере, как это сделать..? На С?
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 10:14 #4
yourchoice17, на самом деле задача нетривиальная. Тут в несколько строк не уложишься.
yourchoice17
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 7
13.05.2011, 13:00  [ТС] #5
gooseim, я же не говорила, что мне надо решить это в несколько строк.. Мне все равно сколько их будет, мне надо это сделать, как - не знаю, поэтому я и обратилась за помощью..))
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 14:00 #6
yourchoice17, вы просто говорили про пример, а пример, который писать не в несколько строк у меня нет времени, и думаю у других форумчан тоже.
yourchoice17
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 7
13.05.2011, 15:05  [ТС] #7
gooseim, я думаю, если у вас нет времени, это не повод говорить, что его нет у всех на форуме! Или по-вашему, если у меня большая задача, мне вообще не нужно было создавать тему? Мне кажется, неписанное правило форума: можешь помочь - помоги, не можешь, или "нет времени" - твое дело, закрой тему, и не отвечай за всех...
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 17:17 #8
Цитата Сообщение от yourchoice17 Посмотреть сообщение
Или по-вашему, если у меня большая задача, мне вообще не нужно было создавать тему?
Если хотите получить готовое, то именно так.
Kastaneda
Форумчанин
Эксперт С++
4652 / 2860 / 228
Регистрация: 12.12.2009
Сообщений: 7,268
Записей в блоге: 2
Завершенные тесты: 1
13.05.2011, 17:58 #9
А мне кажется, что ТС неверно сформулировал(а) задание, потому как в данной формулировке задача действительно нетревиальная. Возможно суть задания - это использования switch или что-нибудь в этом духе.
yourchoice17, процитируй текст задачи.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
13.05.2011, 18:18 #10
Нужно капать в направлении Обратная польская запись, если я правильно понял... Здесь задействован стэк... Можно, конечно, и через деревья...но стэком проще...
Вот есть на форуме, реализация - Си: link

Добавлено через 2 минуты
Вот еще: link 2
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 18:25 #11
Mиxaил, нет, здесь как раз стек и польская запись не причем. Стек нужен для выполненния выражения, когда известны все данные. В этом случае данные неизвестны, а нужна именно структура. Поэтому только через деревья.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
13.05.2011, 18:28 #12
Когда введешь строку, ее можно преобразовать в польскую запись, потом с ней работать...
По - любому, функцию очень сложную не ввести, иначе трудно будет преобразования выполнять, так что... все можно реализовать
yourchoice17
0 / 0 / 0
Регистрация: 07.05.2011
Сообщений: 7
13.05.2011, 19:59  [ТС] #13
Не понимаю, почему меня НИКТО не понимает. Цитирую задачу:"Написать программу поиска минимума и максимума функции методом Хука-Дживса". Допустим, я пользователь и мне нужно найти максимум функции y=3*x+2, а потом функции y=3*x^3+2*z^2+k. Если бы мы искали максимум уравнений какого-то одного вида, можно было бы создать массив из коэффициентов при переменных и дальше с ними работать. Но у них разный вид, и я спрашивала, как мне сделать, чтобы программа искала максимум для конкретно введенной любой функции любого количества аргументов. Готовую программу никого писать не просила, как подумали некоторые. Может быть теперь я объяснила понятнее...

Добавлено через 1 минуту
Ладно. Спасибо всем за ответы.
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
13.05.2011, 20:02 #14
gooseim, а почему, собственно, обратная польская запись не может служить заменой дерева? Обратная польская представляет собой ни что иное, как обход такого синтаксического дерева в post-order манере, то есть от левого к правому сыну и потом в родительский узел, так что из нее можно и дерево восстановить при желании.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
13.05.2011, 20:32 #15
Ma3a, давайте пример.
Есть такое выражение:
(x+2)*(z+1)-y
В постфиксной записи это будет так:
-
*
+
x
2
+
z
1
y
Теперь скажите мне, как узнать из такой записи, что '-' относится к y?
Только путем сложного анализа этого стека.
А в случае с деревом все проще, мы просто проходим по всем узлам и ищем нужный нам y.
Я не говорю, что постфиксная запись плохая, но она неприменима к таким задачам. Для вычисления выражений, например, она подходит, и даже лучше, чем дерево.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 20:32
Привет! Вот еще темы с ответами:

Ввод с клавиатуры - C++
Столкнулся с проблемой, что не получается переделать считывание текста из файла на ввод с клавиатуры. Помогите пожалуйста. #include...

Ввод с клавиатуры - C++
на С++ надо организовать ввод с клавиатуры, при этом я не знаю сколько элементов будет вводится, записывать их в массив. Тоесть когда я...

Ввод с клавиатуры - C++
Напишите программу, которая будет читать целое число от ввода с клавиатуры и печатать последнюю цифру данного числа. (8. Write a program...

Отследить ввод с клавиатуры... - C++
Доброго времени суток! Господа прошу помочь решить такую задачу: в консольном приложении нужно запретить ввод символов и цыфр, только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.05.2011, 20:32
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru