查找最小值并将其以相同顺序分配给新变量-C ++

瑞士央行

我有一个向量,该向量具有4个坐标点(浮点型)。从向量中读取值,并将其存储在4个不同的变量中。我想从四个点中找到最小的x坐标值,并将其分配为第一个变量。其余变量遵循与原点相同的顺序。
例如:p1到p4代表坐标点。
p1 =(319.402,213.309)
p2 =(184.437,312.164)
p3 =(54.9806,183.36)
p4 =(187.458,95.2848)
最小x坐标为54.9806。找到最小值后,我想以新顺序将坐标值分配给新变量。
p1_new =(54.9806,183.36)
p2_new =(187.458,95.2848)-先前为p4
p3_new =(319.402,213.309)-先前为p1
p4_new =(184.437,312.164)-先前为p2
最小值在一个迭代之间可能有所不同。
感谢您的任何帮助。

or

让我们将问题分为几个部分:a)找到最小的x值b)建立后,您以模量向量的大小运行向量中的位置

代码:(并不太强调适当的样式)

vector<pair<double, double>> vec = { {319.402,213.309} ,{184.437,312.164 },{54.9806,183.36} ,{187.458,95.2848} }
, vec2;

double minX = vec[0].first;
int minIndx = 0;
for (int i = 1; i < static_cast<int>(vec.size()); i++)
    if (vec[i].first < minX)
    {
        minIndx = i; //saves the index
        minX = vec[i].first; //saves the minX value
    }

vec2.emplace_back(vec[minIndx]); //put it in the result vector (vec2)


//emplace everything else to the result vector modulu vec.size()
for (int i = minIndx + 1; i != minIndx; i = (i + 1) % static_cast<int>(vec.size()))
    vec2.emplace_back(vec[i]);

//prints the result
for (const auto &v: vec2)
    cout << "(" <<v.first << ", " <<v.second << ")\n";

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#-从JSON响应中获取值并将其分配给变量

如何从MySQL中读取双列并将其分配给C#双变量?

返回字符串数组并将其分配给C中的变量

C。从文件中扫描行的特定部分,并将其分配给某个变量

在 scanf 中使用 %c 并将值分配给 C 中的 int 变量?

C:遍历SQLite记录并将每个值分配给一个变量

在C#中返回字典值而不将其分配给变量?

在C中取消引用变量并将其地址分配给指针变量有什么区别?

如何在c#中拆分特定格式的字符串并将其分配给变量?

将C变量的值分配给bash变量

将新值传递并分配给指针C ++

C ++:将值分配给全局类变量

如何从数组中查找字符串并将其分配给c#asp.net中的字符串

如何编写动态数量的行并将其分配给C中的数组

C#新运算符-分配给变量与不分配之间的区别

ADO.NET-动态遍历SqlDataReader列并将这些值分配给C#对象

在C99中,是否可以在不首先将其分配给变量的情况下使用返回值?

C#中的扩展方法如何将值分配给父变量,即“ this”变量

在C ++ / CLI中将新值分配给不可变值结构

从字符串中提取关键字并将其分配给C#中的属性

如何在结构中初始化 int 指针并将其分配给 C 中的数组?

C:初始化一个结构并将其分配给函数参数中的指针

从 Pandas 列中查找以前的非相同值并将其作为 Pandas 列分配给数据框

Python:查找哪个变量具有最高值,并将该值分配给新变量

C ++中的cin试图将字符串值分配给int变量?

将值分配给c中的全局变量会导致错误

无法将字符值分配给字符串变量 C++

C#使用CSV标头将值分配给不同的变量

C-尝试将函数的返回值分配给变量会导致分段错误