gpt4 book ai didi

c - 调整二维数组的大小,并将元素的平均值转移到 c 中较小的矩阵

转载 作者:行者123 更新时间:2023-11-30 17:08:17 24 4
gpt4 key购买 nike

任何人都可以帮助我将可整除矩阵的大小调整为较小的矩阵,其中的元素计算为总和平均值,即从 6x6 矩阵变为 2x3 矩阵,其中元素如 r1c1,r1c2,r2c1,r2c2,r3c1 的平均值,r3c2 移入 2x3 矩阵的 r1c1。

最佳答案

假设array指向数组,'l,w'保存原始数组的维度,'r,c'保存较小结果数组的维度。

int rows = l/r; //# of rows of the window
int cols = w/c; //# of columns of the window
int num = rows*cols;//# of cells of the window
int result = new int[r][c];

for(int i=0;i<r;i++)//for each row in the result array
{
for(int j=0;j<c;j++)//for each cell in the current row
{
result[i][j] = 0;//initialize the cell value
for(int k=0;k<rows;k++)//for each row in the window
{
for(int z=0;z<cols;z++)//for each cell in the current row
{
result[i][j] += array[i*rows+k][j*cols+z];//add the value of each cell in the window to the corresponding result cell
}
}
result[i][j] /= num;//divide by the number of cells in the window
}
}

附:我没有测试这段代码,但它应该可以工作

关于c - 调整二维数组的大小,并将元素的平均值转移到 c 中较小的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33733519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com