如何拥有C++;解输入值的方程? 我试图找出一种方法,用C++来解决用户使用CIN输入值的情况,然后让计算机解决给定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; intx; int-y; int w; intx=30>输入; //可能的解决方案? 如果(input>=min_z&&inputintx=30

如何拥有C++;解输入值的方程? 我试图找出一种方法,用C++来解决用户使用CIN输入值的情况,然后让计算机解决给定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; intx; int-y; int w; intx=30>输入; //可能的解决方案? 如果(input>=min_z&&inputintx=30,c++,C++,你必须弄清楚如何解x和y,这样你才能做出一个算法。这个算法就是你制作程序的基础 在某种意义上,您还可以使用其他语言来描述所需内容,并让编译器或运行时为您确定如何获取这些内容。C++不是其中之一。< /P> 解决特定问题的不同方法是建立一个方程组并求解它。或者使用蛮力方法并迭代x和y的值,以找出匹配的值。这里似乎有一个“数学”问题:一对受方程约束的值,您希望“计算机”找到所有符合约束(方程)的可能值。我说得对吗 虽然有些计算机程序确实可以做到这一点,但C++语言不是为此目的而设计的。C++的作用是

你必须弄清楚如何解x和y,这样你才能做出一个算法。这个算法就是你制作程序的基础

在某种意义上,您还可以使用其他语言来描述所需内容,并让编译器或运行时为您确定如何获取这些内容。C++不是其中之一。< /P>
解决特定问题的不同方法是建立一个方程组并求解它。或者使用蛮力方法并迭代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++中使用一本好书或教程和代码。在教材中查找
中的
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;
}
int最小值x=30,最大值x=50;
int最小值y=60,最大值y=90;
//在这个时间间隔内存在解决方案
int min_z=min_x+min_y,max_z=max_x+max_y;
cin>>输入;
//可能的解决方案?

如果(input>=min_z&&input
intx=30
的用途是什么?我们无法理解你的例子。很抱歉,这是
intx=30
伪代码,用于一些
x
必须满足的条件吗?如果是的话,可能更容易用文字表达出来。学校已经开始了吗?不,不是家庭作业。我是疼痛我的C++…两个变量,一个方程…