我有一个C编程分配,我必须从文本文件中读取并将输入存储在2d数组中。但是文本文件只包含矩阵,不存储有关行和列的信息。我的程序将使用几个输入进行测试,因此2d数组不应具有固定大小。但这个矩阵保证是方形的。我已经在网上搜了几个小时,但无法找到解决方案。那么如何在使用多个输入文件进行测试时将此矩阵存储在具有动态尺寸的二维数组中?
答案 0 :(得分:2)
注意: 从措辞来看,这似乎是一个功课问题。因此,我不会发布任何直接代码。
您的矩阵保证为正方形,这意味着您将与列具有相同数量的行。这意味着您只需要扫描第一行,以便了解和需要多少行。
让我们假设您的矩阵将存储在.csv(逗号分隔变量)文件中。您的数据是
n1, n2
n3, n4
只需将文件作为纯文本阅读,计算在行结束之前找到的分隔符 。在这种情况下,您在第一行中找到1个逗号,这显然意味着您有2个条目,因此有2列2行;如果你有3个逗号,你将有4个条目,因此有4列4行。
n1, n2, n3, n4
n5, n6, n7, n8
n9, n10, n11, n12
n13, n14, n15, n16
从那里开始,你只需要malloc
一个你刚刚计算出来的n个n数组。