如何从输入中存储矩阵

时间:2015-01-10 02:54:57

标签: c matrix

我以这种输入格式给出了矩阵:

-1 2 3\n
 5 9 11\n
 3 4 5\n

所以在单词中是:N整数,其中行由用户在每行之后按Enter(在示例中为\ n)结束。

我必须检查有效输入,因此如果用户输入除数字和空格之外的任何内容,(空格,新行,标签'\t'和字符-为负整数),则无效(包括+符号),程序输出应确定它是否为NxN矩阵。

我的想法是用字符阅读,直到最后一个字符为' \ n'并将它们存储在二维数组中(以备将来使用),保存已存储数字的数量,以便将来检查它是否为NxN。

这是一种好方法,还是有更聪明的东西?

1 个答案:

答案 0 :(得分:0)

这似乎是一个不错的方法......但你不需要存储它们 - 你只需要检查它是在N行之前还是在N行之后结束。

  • 如果每行的条目数有所不同,则返回false。
  • 如果矩阵在行数==列数之前结束,则返回false。
  • 如果行数超过列数,则返回false。
  • 如果它违反了您的任何角色规则,请返回false。
编辑:我的坏,只是拉了一个dum-dum并意识到你真的想存储它而不仅仅是检查它。同样的事情也适用,但是在将第一行读入您构成最大尺寸的数组之后,您可以使用char分配一个新的二维malloc数组,然后只要它赢了就打破# 39;因某种原因而适合。