Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2012, 23:11   #1
SimonCarptur
 
Регистрация: 03.12.2012
Сообщений: 5
По умолчанию Ввести в программу переменную, которая не будет равна чему-либо, а так и останется

Привет всем! Я бы хотел узнать, каким образом можно ввести в программу переменную, чтобы она оставалась неизвестной до конца выполнения программы, т.е. чтобы переменная (назовём её x) участвовала во всех вычислениях, но как в институтских задачах, где, допустим, длина равна а, а ширина равна в, и нужно найти площадь, которая, понятно, равна ав, т.е. чтобы переменная была не в виде числа. Понятно всем?) Вот, допустим, моя программа такая:
void main()
{//здесь объявляется переменная y;
y=x+3;//здесь ей присваивается значение x+3;
y=y/2;//вот здесь значение y должно стать равным (x+3)/2;
y=y*4;//и здесь значение у должно стать равным 4*(x+3)/2;
cout<<"y="<<y;//ну а здесь выводится на экран: y=4*(x+3)/2;
}
Реально ли это вообще? Говорят же, что Си++ может решить любую задачу программирования)
SimonCarptur вне форума Ответить с цитированием
Старый 03.12.2012, 23:13   #2
romlo
Пользователь
 
Аватар для romlo
 
Регистрация: 21.06.2010
Сообщений: 49
По умолчанию

Код:
cin >> y;
Это как cout, только cin.
romlo вне форума Ответить с цитированием
Старый 03.12.2012, 23:23   #3
SimonCarptur
 
Регистрация: 03.12.2012
Сообщений: 5
По умолчанию

Спасибо, но вы меня не поняли. Мне нужно, чтобы Y ВЫЧИСЛЯЛАСЬ по ходу программы, как в школьных уравнениях, где даётся нам уравнение, мы его постепенно упрощаем, и получаем ответ. НО. Бывает, в школе дают, допустим решить уравнение, где Y не получается в итоге равным числу, а выражается путем упрощения уравнения в виде какой-то функции от Х. А Х - это не какое-то число, а неизвестно что. Вот пример: Y=25X-50X; Всем понятно, что Y здесь будет равен -25X. Вот и мне надо, чтобы программа делала то же самое, решала уравнение, где Y через число выразить невозможно. А можно выразить через какую-то неизвестную переменную X.
SimonCarptur вне форума Ответить с цитированием
Старый 03.12.2012, 23:30   #4
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

"Переменные" по-разному понимаются в разных языках. В обычном С++ это ячейка памяти, а в математике - это неизвестная величина (значение в ячейке памяти ПК всегда известно). Возможно (судя по вопросу) Вам нужен язык с логикой вывода. Конечно же такое можно сделать и в С++ (подобное, но ограниченное применение есть в обобщенном программировании на стадии компиляции), но это будет эквивалентно созданию языка. Вывод есть в Prolog. Mapple понимает "тождества", вообще многое в рамках университетских курсов решает.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 03.12.2012 в 23:32.
MihalNik вне форума Ответить с цитированием
Старый 03.12.2012, 23:36   #5
SimonCarptur
 
Регистрация: 03.12.2012
Сообщений: 5
По умолчанию

О, спасибо за Maple!) А чего, самому такую прогу написать почти невероятно? Вот уж не думал)

Последний раз редактировалось SimonCarptur; 03.12.2012 в 23:41.
SimonCarptur вне форума Ответить с цитированием
Старый 03.12.2012, 23:48   #6
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Почти вероятно... Только есть уже и Mathcad, Matlab
Не логика невероятная, а куча библиотек
P.S. Еще я бы переименовал топик в нечто более вразумительное, если такая возможность, конечно, имеется)
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 03.12.2012 в 23:52.
MihalNik вне форума Ответить с цитированием
Старый 05.12.2012, 17:25   #7
SimonCarptur
 
Регистрация: 03.12.2012
Сообщений: 5
По умолчанию

Да я просто даже не знал, как это назвать!))
SimonCarptur вне форума Ответить с цитированием
Старый 05.12.2012, 17:32   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Реально ли это вообще? Говорят же, что Си++ может решить любую задачу программирования)
Да, реально. Для задач такой сложности, вполне возможно создать класс "выражение", который поддерживает арифметические операции с числами и строками (символьными переменными). В Вашем примере, выражение будет инициализироваться строкой "y", после чего с ним будут выполняться те или иные действия, после чего будет вызываться метод вроде ToString() для вывода выражения.
По всей видимости, достаточно практично хранить "выражение" в виде дерева операций.
Abstraction вне форума Ответить с цитированием
Старый 05.12.2012, 17:54   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
P.S. Еще я бы переименовал топик в нечто более вразумительное, если такая возможность, конечно, имеется)
Не надо переименовывать, меня тема изрядно улыбнула после нелегкого рабочего дня
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В переменную последовательно вводятся числа. Окончание ввода либо по желанию пользователя, либо когда сумма отрицательных чисел VladGorin Помощь студентам 0 11.05.2012 16:49
Возможно ли написать такую программу которая будет решать уравнение ? Anizotrop Помощь студентам 3 28.09.2011 13:49
Дано натуральное число n ( n<=100).Чему равна сумма его цифр? Petrovich83 Помощь студентам 1 11.04.2011 21:12
Написать программу, которая будет использовать ранее созданную библиотеку. sanya94 Общие вопросы C/C++ 3 19.02.2011 00:58
как обращатся к чему либо WOLFak Общие вопросы Delphi 3 13.02.2008 06:06