如何获得向量中所有分量的最大值?

亨利

我刚刚编写了一个程序,该程序保存用户输入的4成分向量(使用称为的函数save_vector)并打印(使用称为的函数print_vector)。此外,它还会创建一个称为的新向量vabs,该向量具有相同的成分,但绝对值(正)。

现在,我正在尝试vabs使用函数向量中找到最大值maximum value但是,我只能得到以下结果:0.000000即使我在向量中输入非零分量。您能帮我弄清楚我所缺少的吗?谢谢!:-)

#include <stdio.h>

void print_vector(int N,float * V);
void save_vector(int N,float * V);
void absolute_values(int N, float * V);
void maximum_value(int N, float * VABS);


int main(void)
{

    const int n=5;
    int i;
    float v[n],vabs[n];

    puts("Enter the 5 components of the vector:");
    save_vector(n, v);

    puts("\nThe vector is:");
    print_vector(n, v);

    puts("\nThe absolute vector is:");
    absolute_values(n, v);

    puts("\nThe maximum value is:");
    maximum_value(n, vabs);

    return 0;
}

void save_vector(int N, float * V)
{
    int i;
    for(i=0;i<N;i++)
        scanf("%f",V+i);
}

void print_vector(int N, float * V)
{
    int i;
    for(i=0;i<N;i++)
        printf(" %.2f ",*(V+i));
}

void absolute_values(int N, float * V)
{
    int i;
    float VABS[N];
    for(i=0;i<N;i++)
    {
        VABS[i]=((V[i]<0)?-V[i]:V[i]);
        printf(" %f", VABS[i]);
    }
}

void maximum_value(int N, float * VABS)
{
  int i;
  float maximum;
  maximum = VABS[0];

  for (i = 1; i < 5; i++)
  {
    if (VABS[i] > maximum)
    {
       maximum = VABS[i];
    }
  }
  printf(" %f", maximum);
}
阿纳斯塔丘

该代码无法正常工作,因为:

  • 您正在将一个空向量传递vabs给应该找到max_value的函数。

  • 在分配绝对值的函数中,VABS向量是局部的,当函数返回时它将丢失,您需要将main vabs向量作为参数传递给函数,以便可以保存更改并用于查找最大值:

void absolute_values(int N, float *V, float *VABS) //pass vabs as argument
{
    int i;
    //float VABS[N]; this is local, it's lost when the function returns
    for (i = 0; i < N; i++)
    {
        VABS[i] = ((V[i] < 0) ? -V[i] : V[i]);
        printf(" %f", VABS[i]);
    }
}

而在主要方面:

int main(void)
{  
    //...
    puts("\nThe absolute vector is:");
    absolute_values(n, v, vabs);

    puts("\nThe maximum value is:");
    maximum_value(n, vabs);

    return 0;
}

这是固定代码运行示例

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得数组的最小值,最大值?

来自分类Dev

按值对Data.Map排序并获得所有最大值

来自分类Dev

SQL查询中所有平均值的最大值

来自分类Dev

如何获得具有属性最大值的数组的唯一元素

来自分类Dev

如何获得具有相同最大值的所有键?

来自分类Dev

获取R向量中的所有最大值索引

来自分类Dev

JavaScript /下划线获取对象中所有项目的最小值最大值

来自分类Dev

如何获得具有相应文档数组的每个组的字段的最大值?

来自分类Dev

如何获得具有求和列最大值的行

来自分类Dev

如何获得具有对使用流多个属性最大值的对象?

来自分类Dev

如何获得具有列最大值的行?

来自分类Dev

在Rcpp中找到向量中所有最大/最小值的索引

来自分类Dev

如何获得访问总和的最大值?

来自分类Dev

如何获得每个小组的最大值?

来自分类Dev

迭代14天增量以查找熊猫数据框中所有最大值的平均值

来自分类Dev

如何获得最大值以有效地简化日志

来自分类Dev

查询中所有索引的最大值和最小值

来自分类Dev

如何获得数组的最小值,最大值?

来自分类Dev

返回所有组的最大值?

来自分类Dev

有什么方法可以找到表中所有数字列的最大值?

来自分类Dev

在具有多个条件的向量中返回最大值

来自分类Dev

如何获得具有最大值的表行

来自分类Dev

如何获得String []数组的最大值/最小值?

来自分类Dev

如何获得带有空格的数组的最大值和最小值?

来自分类Dev

如何在C ++中获得向量复数值的最大值,最小值和位置?

来自分类Dev

R 向量 - 如果向量由最小值/最大值定义,则返回向量的所有项

来自分类Dev

如何获取每组最大值的所有记录

来自分类Dev

如何获取与数组 B 中唯一值对应的数组 A 中所有最大值的索引?

来自分类Dev

如何获得表中所有正值的最小值?

Related 相关文章

  1. 1

    如何获得数组的最小值,最大值?

  2. 2

    按值对Data.Map排序并获得所有最大值

  3. 3

    SQL查询中所有平均值的最大值

  4. 4

    如何获得具有属性最大值的数组的唯一元素

  5. 5

    如何获得具有相同最大值的所有键?

  6. 6

    获取R向量中的所有最大值索引

  7. 7

    JavaScript /下划线获取对象中所有项目的最小值最大值

  8. 8

    如何获得具有相应文档数组的每个组的字段的最大值?

  9. 9

    如何获得具有求和列最大值的行

  10. 10

    如何获得具有对使用流多个属性最大值的对象?

  11. 11

    如何获得具有列最大值的行?

  12. 12

    在Rcpp中找到向量中所有最大/最小值的索引

  13. 13

    如何获得访问总和的最大值?

  14. 14

    如何获得每个小组的最大值?

  15. 15

    迭代14天增量以查找熊猫数据框中所有最大值的平均值

  16. 16

    如何获得最大值以有效地简化日志

  17. 17

    查询中所有索引的最大值和最小值

  18. 18

    如何获得数组的最小值,最大值?

  19. 19

    返回所有组的最大值?

  20. 20

    有什么方法可以找到表中所有数字列的最大值?

  21. 21

    在具有多个条件的向量中返回最大值

  22. 22

    如何获得具有最大值的表行

  23. 23

    如何获得String []数组的最大值/最小值?

  24. 24

    如何获得带有空格的数组的最大值和最小值?

  25. 25

    如何在C ++中获得向量复数值的最大值,最小值和位置?

  26. 26

    R 向量 - 如果向量由最小值/最大值定义,则返回向量的所有项

  27. 27

    如何获取每组最大值的所有记录

  28. 28

    如何获取与数组 B 中唯一值对应的数组 A 中所有最大值的索引?

  29. 29

    如何获得表中所有正值的最小值?

热门标签

归档