当前位置: 首页 > 知识库问答 >
问题:

计算每行的平均值并存储在最后一个元素中

南门刚捷
2023-03-14

我需要计算每行的平均值,并存储在最后一个元素中。我设法做到了,但后面的行是前一行的累计平均值。例如:

输入:

1 2 3 0

4 5 6 0

输出:

1.00 2.00 3.00 2.00

4.00 5.00 6.00 7.00(应为5.00)

这是我的代码

   void findAverage2D(float matrix[4][4])
     {    
       int i,j = 0;
       float sum,avg=0;

       for(i=0;i<4;i++)
     {
        for(j=0; j<4;j++)
        {
            sum+= matrix[i][j];
        }
        avg = sum/3;
            matrix[i][3] =avg;

    }
}

提前谢谢。:)

共有2个答案

李胡媚
2023-03-14

该函数有两个错误。

第一个是变量sum最初未初始化,也未在外部循环的每次迭代中初始化。

第二个错误是每行的最后一个元素不应该参与平均值的计算。

考虑到这一点,函数可以看以下方式

    void findAverage2D( float matrix[][4], size_t n )
    {
        const size_t M = 4;

        for ( size_t i = 0; i < n; i++ )
        {
            float sum = 0.0f;
            for ( size_t j = 0; j < M - 1; j++ )
            {
                sum += matrix[i][j];
            }
            matrix[i][M-1] = sum / ( M - 1 );
        }
    }
}

必须用两个参数调用该函数,其中第二个参数是给定数组中的行数。

谢璞
2023-03-14

首先将变量“sum”移到for循环内部-

 for(i=0;i<4;i++)
 {
    float sum = 0;
 类似资料:
  • 我希望知道如何解决这类问题。提前谢谢你。问题来了。 下面是我为它编写的代码,

  • 这里是初学者。我试图找到任何问题可以解决这个问题,但我不能,所以我提前道歉,如果这最终是一个重复。 因此,我有一个Double[]名为pay,包含三个Double值(totalPay、basePay、HoursWorkd),我将其存储在一个名为paylist的ArrayList中。 我在寻找一种方法来确定平均总工资,平均基本工资和平均工作小时数,我尝试使用foreach,但它似乎不起作用。 (当用

  • 问题内容: 已关闭 。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗? 添加详细信息并通过编辑此帖子来澄清问题。 11个月前关闭。 改善这个问题 我有一个清单: 我想要另一个具有三个值均值的列表,因此新列表为: 新列表中只有6个值,因为第一个元素中只有18个元素。 我正在寻找一种精巧的方法来完成此操作,并为大量列表提供最少的步骤。 问题答案: 您可以在3个间隔中迭代使用for循环

  • 我在添加数组的所有元素以及求取它们的平均值时遇到了问题。我将如何做到这一点并用我当前拥有的代码实现它?这些元素应该定义如下。

  • 问题内容: 我有一个numpy的数组。我想创建一个新数组,该数组是每个连续三元组元素的平均值。因此,新数组将是原始数组大小的三分之一。 举个例子: 应该返回数组: 有人可以建议一种有效的方法吗?我在画空白。 问题答案: 如果数组的长度可被3整除: 重塑为高维数组,然后对附加维之一执行某种形式的归约运算是numpy编程的主要内容。

  • 我试图做以下java分配和每件事似乎工作正常,除了当我把一个数字 谢谢 赋值:创建一个询问考试结果并计算成绩平均值的程序。成绩是4到10之间的浮点数。程序要求成绩,直到键入负数。如果用户给出的分数不是4到10之间的数字,则文本“无效成绩!”将在屏幕上打印,程序要求另一个分数。最后,程序在屏幕上打印输入的成绩数及其平均值,如示例打印所示。如果没有输入成绩,通知“您没有输入任何成绩。”是屏幕上唯一打印