multidimensional-array 相关问题

多维数组可以描述为多维表。用于查找给定元素的每个索引称为维度。

用于链接嵌套数组元素与其父元素的 JS 算法

我正在寻找一种算法将数组中的嵌套元素链接到它们的父元素。可能是递归的。这是一个数组示例 https://jsfiddle.net/g2xh5r97/ 我想让每个家庭的每个孩子...

回答 1 投票 0

连接二维数组

我是新人,我需要帮助才能在 javascript 中找到适合我的函数的正确解决方案: 函数 concatenateMatrix(矩阵) { } var 字符串矩阵 = [ ['你好'], [' '、'J'、'a'、'v'...

回答 6 投票 0

如何在 PyTorch 中将不同维度的嵌入和掩码相乘?

在我的前向方法中,我目前有一个大小为 torch.Size([8,22,16]) 的字符嵌入,其中 8 表示批量大小,22 表示数据集中每个单词的最大字符长度。 ..

回答 1 投票 0

在Python中旋转nxnxn矩阵

我有一个大小为 64x64x64 的二进制数组,其中 40x40x40 的体积设置为“1”,其余为“0”。我一直在尝试使用 skimage.transform.rotat 围绕 z 轴的中心旋转这个立方体...

回答 2 投票 0

过滤二维数组以保留包含特定值的所有行

我有一个像这样的二维干草堆数组: [ 4 => [0, 1, 2, 3, 10], 1 => [0, 1, 2, 3, 10], 2 => [0, 1, 2, 3], 3 => [0, 1, 2, 3] ] 假设我有一个搜索...

回答 5 投票 0

如何根据条件用项目填充二维数组

一些背景知识 我正在开发一个小型项目,以构建一个 32 x 32 的数组,其中包含各种数字,代表小地图的图块。这些图块将在视觉上呈现出来以创建......

回答 1 投票 0

PHP 通过特定键过滤二维数组

我有这个数组: 大批 ( [702a4584] => 数组 ( [类型] => 文件夹 [id] => 702a4584 ) [b547b3a9] => 数组 ( [类型] =...

回答 3 投票 0

PHP 使用具有多个键/值对的另一个数组来搜索一个数组

我正在努力使用另一个数组中的参数来搜索多维数组。 这是两个示例数组和我想要的输出: 大批 ( [0] => 数组 ...

回答 1 投票 0

N 数组的笛卡尔积

我有一个 PHP 数组,如下所示: $array[0][0] = '苹果'; $array[0][1] = '梨'; $array[0][2] = '橙子'; $array[1][0] = '史蒂夫'; $array[1][1] = '鲍勃'; 我想成为...

回答 10 投票 0

在从 numpy 数组创建的 ndarray 切片之间执行广播添加

我正在尝试编写可以从 Python 调用的 Rust 代码。为简单起见,此代码应仅采用二维布尔数组并将第二行与第一行进行异或。我试过...

回答 1 投票 0

如何分配二维数组? [重复]

我需要创建一个二维数组。目前我将其创建为 整数a[100][100] 但我需要使用 C 语言中的 malloc 动态分配内存。我用了代码 #包括 我需要创建一个二维数组。目前我将其创建为 int a[100][100] 但是我需要使用C语言中的malloc动态分配内存。我用了代码 #include <stdio.h> #include <stdlib.h> int main(void) { int n=6, m=5, i, j; int **a = malloc(n * sizeof(int *)); for(i = 0; i < m; i++) a[i] = malloc(m * sizeof(int)); for( i = 1; i <= n; i++ ) { for( j = 1; j <= m; j++ ) { scanf("%d %d",&a[i][j]); } } return 0; } 但是现在在将元素输入数组时它显示分段错误。 您在评论中说n是行数。因此,您需要分配 n 行,每行长度为 m。因此,第二个for循环条件应该是i < n。另外,您应该检查 malloc 的返回值,以防分配内存失败。我建议进行以下更改 -NULL 请注意,多维数组并不是一种全新的类型。它只是一个元素数组,其中每个元素本身就是一个数组(对于 2D 数组)、数组的数组(对于 3D 数组)等等。如果您使用long long **a = malloc(n * sizeof(*a)); for (i = 0; i < n; i++) { a[i] = malloc(m * sizeof(*a[i])); } ,您可以干净简洁地分配数组,如C99 您还应该了解一下 - 我如何在 C 中使用动态多维数组? 您有三个错误:第一个是您仅分配了 int nrow = 4; // number of rows int ncol = 8; // number of columns // define arr to be a pointer to an array of ncol ints, i.e., // arr is a pointer to an object of type (int[ncol]) int (*arr)[ncol] = malloc(sizeof(int[nrow][ncol])); // check the result of malloc for NULL if (arr == NULL) { printf("malloc failed to allocate memory\n"); // handle it } // do stuff with arr for (int i = 0; i < nrow; i++) { for (int j = 0; j < ncol; j++) { arr[i][j] = i + j; } } // after you are done with arr free(arr); 辅助数组,但在输入中您循环了其中的 5。 第二个问题是数组索引是基于零的,即索引从零开始,直到大小减一。 第三个问题是你扫描了两个数字(为什么?),但你只提供了一个指向6的目标指针。 你只需要 scanf 如果你想要一大块内存。 如果您想要一个 long *a = malloc(100*100*sizeof(long)); 指针数组,然后每个数组位于单独的内存块中,请像这样: long* 这会创建 1 个 long **a = malloc(100*sizeof(long*)); for (i=0; i<100; i++) { a[i] = malloc(100*sizeof(long)); } 指针数组,然后创建 1 个每个指针有 100 个 long* 的数组,但我现在不确定你是否说 longs 例如,它是否会计算元素的位置,就像它的位置一样一个连续的块。检查出。 :) 如果你有 C99 使用可变长度数组 a[10][15] 否则需要手动计算索引。 你的代码有很多问题 首先,您需要 #include <stdio.h> #include <stdlib.h> int main(void) { unsigned rows, cols; printf("Enter rows and columns: "); fflush(stdout); scanf("%u%u", &rows, &cols); int (*a)[cols]; // pointer to VLA a = malloc(rows * cols * sizeof a[0][0]); if (a) { for (unsigned r = 0; r < rows; r++) { for (unsigned c = 0; c < cols; c++) { a[r][c] = r*c; } } printf("the element at [4, 2] is %d\n", a[4][2]); free(a); } return 0; } ,但您只为 long long a[100][100]s 分配足够的空间 int 您还越界访问数组。索引从 0 开始到 array_length-1。 另一个问题是你扫描了 2 个 int 值,但只提供了 1 的地址。 a[i] = malloc(m * sizeof(int)); 您可以分配一个 100 元素的指针数组,每个指针都指向另一个 100 元素数组的数组,但这并不好,因为执行 100 scanf("%d %d",&a[i][j]); 需要时间,并且生成的内存很可能不是连续的,这使得它的缓存不友好。还有一个小的内存开销,因为内存分配器必须将其四舍五入到最接近的块大小,这很可能是 2 的幂,当您在第一维中分配越来越多的元素时,它可能会很大。 您应该声明一个大小为 100*100 的一维数组。这将更快并提高缓存一致性。要获取 malloc 处的元素,只需执行 a[i][j] a[i*WIDTH + j]

回答 5 投票 0

将分块数据数组写入HDF5

我有这段代码可以使用 HDF5Sharp 将数组写入 Hdf5。 但问题是我需要将数据写入 1 x 100 x 500 而不是 100k x 100 x 500 的块中,而且我不知道如何...

回答 1 投票 0

通过前导整数将平面数组中的值分组以形成二维数组

转换这个单个数组的简单方法是什么: $数组 = [ '1.1', '1.2', '1.3', '2.1', '2.2', '2.3', '3.1', '3.2', ]; 变成这样的多维数组:

回答 8 投票 0

php中单数组到多维数组

转换这个单个数组的简单方法是什么: 大批( [0] => 1.1 [1] => 1.2 [2] => 1.3 [3] => 2.1 [4] => 2.2 [5] => 2.3 [6] => 3.1 [7] => 3.2 ) 进入多维度...

回答 8 投票 0

将平面数组中的每个元素转换为包含该元素原始值的子数组

我的数组看起来像这样 大批 ( [0] => 一个 [1] => B [2] => C ) 所需阵列 大批 ( [0] => 数组 ( [0] => 一个 ) [1] => 数组 ...

回答 4 投票 0

如何将多维数组分配给二维数组的子块

我想获取一个大的二维数组,并通过插入子块(读取:较小的二维数组)来填充值,直到填充大数组。我想尽快做到这一点,所以我尝试使用 w...

回答 1 投票 0

在Java中获取二维数组的数组长度

我需要获取二维数组的行和列的长度。我已经使用以下代码成功完成了此操作: 公共类我的类{ 公共静态无效主(字符串参数[]) { ...

回答 13 投票 0

我如何在C中填充并显示这个void***矩阵?

上下文:我需要使用 void*** 创建一个带有 2D 数组的棋盘游戏,在每个插槽中我必须首先放置一个结构“Tierra”,然后在稍后的回合中我可以放置一个结构“Bomba” T...

回答 1 投票 0

如何使用函数将两个二维数组相加并存储并显示在第三个数组中?

我刚刚开始学习C语言。 我已经开始了数组的主题,现在我对如何添加两个二维数组并使用函数在第三个二维数组中存储和显示它们感到困惑... 附言。我是

回答 1 投票 0

GO,地图按键全部更新中

我做的事情有什么问题吗?我不明白为什么所有地图键都被更新,它应该只是“以太”键。 数据 := []字节(` [{".id":"*1",&...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.