读取一个字符串并将其转换为2D int matrix C

时间:2016-02-27 17:41:45

标签: c arrays string matrix char

我想尝试让用户将行输入到特定矩阵(维度是用户定义的,最大为15x15)到字符串中。然后,我想尝试扫描此字符串中的空格量,以确保如果用户指定了5列,则用户每行只输入5个条目。因此,如果用户指定5x5矩阵,他应该输入一行:

1 2 3 4 5。

然后在下一个,

6 7 8 9 10等等。

每行输入应对应一行。因此,如果空格量超过4,我将知道用户输入的数量超过了每行的数量。然后,我想以某种方式在读取所有行之后对此字符串进行分段,并将其转换为2d整数数组,以使其有资格进行矩阵加法或乘法。 如果问题描述有意义,有没有人提示如何做到这一点?

1 个答案:

答案 0 :(得分:0)

假设您有一个字符串数组:

char string[N];

int spaces_num=0,i=0,last_spaces=0;

while(true)
{
  scanf('%s',string);//Perhaps ma need a better way to read user input
  //loop the folowing code until user not needed for user input
  while(string[i]!=='\0' && i < N)
  {
     if(string[i]==' ') spaces_num++;
     i++;
  }

  if(last_spaces>0 && spaces_num!=last_spaces)
  {
    break;
  }
  else
  {
   last_spaces=spaces_num;
  }
}

我希望它的工作原理上面的代码可能需要修复,但它只是提出解决方案的想法。不要太字面意思。

相关问题