Matrix 如何将整数扫描成方阵(2D数组)?(编译前矩阵大小未知)
编辑:我希望我能删除这个问题,我能把它弄明白。谢谢大家! 我需要将一些整数扫描到2D数组(方阵)中。运行文件后,矩阵将以以下形式输入(逐行): 编辑:我最大的问题是在不丢失任何输入行的情况下确定数组的大小Matrix 如何将整数扫描成方阵(2D数组)?(编译前矩阵大小未知),matrix,scanning,Matrix,Scanning,编辑:我希望我能删除这个问题,我能把它弄明白。谢谢大家! 我需要将一些整数扫描到2D数组(方阵)中。运行文件后,矩阵将以以下形式输入(逐行): 编辑:我最大的问题是在不丢失任何输入行的情况下确定数组的大小 4 4 1 1 4 4 1 1 3 2 2 3 4 1 1 1 该代码应适用于任何nxn矩阵。然后我必须能够对矩阵做一些算术运算 我已经浪费了很多时间试图弄明白这一点,我取得了0的进步,这真的让我很沮丧。我想,为了计算矩阵的大小,我需要扫描第一行,但是当我扫描第一行时,我丢失了那些整数!?我
4 4 1 1
4 4 1 1
3 2 2 3
4 1 1 1
该代码应适用于任何nxn矩阵。然后我必须能够对矩阵做一些算术运算
我已经浪费了很多时间试图弄明白这一点,我取得了0的进步,这真的让我很沮丧。我想,为了计算矩阵的大小,我需要扫描第一行,但是当我扫描第一行时,我丢失了那些整数!?我想我也应该使用指针
我几乎没有使用C的经验,也许有经验的人可以告诉我代码应该是什么样子,这样我就可以学习了。我建议检查
malloc
的工作原理,它允许您动态分配内存。开始的好地方
看起来您在读取文件时正在填写矩阵,而您不知道有多少数据。我认为你能做的是使用指向其他链表的指针,这允许你制作一个可变大小的2D矩阵
一些开始
祝你好运 空字符(
\0
)用于标记字符串的结尾。它会自动附加在任何字符*的末尾。这意味着您可以读取整个文件,然后拆分每一行(\n
),然后将它们组合到您要查找的2D字符数组中。您可以采取四种方法:
使用可以动态扩展的数据结构,如链表或动态增长数组(类似于C++向量)。您必须首先实现或找到一个实现这些数据结构的库,然后才能轻松地处理可变大小的数据
向我们展示您迄今为止所做的工作。可能重复我希望我有任何东西可以展示,但我一直在尝试查找数组的大小,同时将输入行放入数组中。步骤1)使用
fgets()
读取一个宽缓冲区,例如1000char
。2) 解析int
s。3) 现在代码知道一行中int
的数量。4) 倒带文件5)分配6)读取矩阵Ayrton Twigg,重要::您是从文件中读取还是从stdin中读取?我以前查看过,但我的问题是在分配内存之前先计算出数组的大小。。。我在任何地方都找不到这样做的方法。我正在考虑类似的事情,但我找不到一种将字符转换为整数的好方法。获取文件的第一行,然后在找不到空字符的情况下通过迭代获取其长度,怎么样?