如何让C++求解输入值的方程式
How to have C++ solve the equation for an input value?
在给定格式的情况下,我一直在试图用C++找到一种方法来解决用户使用cin输入值,然后让计算机求解获得cin值的方法。下面写了一个超快的例子。。是的,我知道有很多代码缺失。。。但概念是存在的。。
int x;
int y;
int w;
int x = 30 < w < 50;
int y = 60 < w < 90;
cin >> input;
x + y = input;
cout << x;
cout << y;
当然,x+y不能在右边的左值上。所以我不能只写x+y=input。。那么我该如何让它求解x+y=input呢?此外,我希望x和y在列出的数字之间,这限制了这些输入之间的数字。。然而,在我实际的编码中,我使用了一个函数。
开学了吗?不,这不是家庭作业。我在自学C++…-Sean Holt 1分钟前编辑
不,我只是想找到一种方法,让计算机求解输入值的x/y,如果x和y在函数的指定值之间
看起来您认为C++将为您求解方程。不会的。C++是一种命令式语言,它基于你告诉它该做什么的概念。
你必须弄清楚如何求解x和y,这样你才能制定一个算法。这个算法就是你制作程序的基础。
在其他语言中,你可以在某种意义上描述你想要什么,并让编译器或运行时为你找出如何获得它。C++不是其中之一。
解决特定问题的不同方法是建立一个方程组并求解。或者使用暴力方法,迭代x和y的值,以找出哪些值匹配。
这里似乎有一个"数学"问题:几个值受到方程的约束,你希望"计算机"找到所有符合约束(方程)的可能值。我说得对吗?
虽然有些计算机程序当然可以做到这一点,但C++语言并不是为此而设计的。C++的作用是为您提供一种向处理器发出指令的方式,比如"将此值存储在内存中"或"将这两个数字相加"。但是没有办法说"解决这个数学问题"。
你需要的是一些方程求解器。但我对任何一个都不熟悉。有像Matlab或Mathematica这样的工具。但我不认为他们是免费的。
如果你想用算法解决数学问题,这里有一个伪代码中的暴力思想:
Input a number.
for each value x between 30 and 50
for each value y between 60 and 90
if x+y equals the number
print x and y
现在,您可以拿起一本好书或教程,用C++编写代码。在教材中查找for
和if
关键字(迭代和选择的算法概念)。玩得高兴
这种情况可以通过区间算术简单地解决。下面给出了解决"两个区间约束变量之和问题"的C++代码。
int min_x = 30, max_x = 50;
int min_y = 60, max_y = 90;
// solutions exist in this interval
int min_z = min_x + min_y, max_z = max_x + max_y;
cin >> input;
// solutions possible?
if (input >= min_z && input <= max_z)
{
// determine solution interval for x (y is dependent)
cout
<< "Solution:n"
<< "x in [" << min(max( input - max_y , min_x),max_x)
<< ";" << min(max( input - min_y , min_x),max_x) << "], "
<< "y = " << input << " - x" << endl;
}
else
{
cout << "No solution." << endl;
}
计算机"基本上是愚蠢的",如果它们做了聪明的事情,那就是软件。使用像C++这样的通用编程语言需要您(或者至少您最终使用的库)非常具体地说明如何解决基于裸计算机的简单算术方法的问题。
尽管编程语言不会神奇地和以某种方式做事情对你来说,算法的存在可以解决许多数学标准问题,比如例如方程组。C++中的数字食谱涵盖了各种算法及其C++实现。
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 用户定义函数中的指针和输入
- 如何在C++中检查2D数组中负值的输入验证
- 如何只允许用户输入正整数
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 输入中的字符串数未知(以字母表示)
- CPP代码方程式返回相同值,无论输入如何
- 如何让C++求解输入值的方程式