📌  相关文章
📜  在C / C++中以不同的行打印2D矩阵并且没有花括号?

📅  最后修改于: 2021-05-25 23:23:53             🧑  作者: Mango

以下是打印2D矩阵的一般方法,以使每一行都打印在单独的行中。

for (int i = 0; i < m; i++)
{
   for (int j = 0; j < n; j++)
   {
      cout << arr[i][j] << " ";
   }
     
   // Newline for new row
   cout << endl;
}

如何在不使用任何花括号的情况下打印打印循环?

强烈建议您最小化浏览器,然后自己尝试。

我们可以简单地删除内部花括号,因为for循环内部只有一行。如何去除外花括号?下面是解决方案。

// C++ program to print a matrix line by line without
// using curly braces.
#include
using namespace std;
  
int main()
{
    int m = 2, n = 3; 
    int mat[][3] = { {1, 2, 3},
                    {4, 5, 6},
                  };
    for (int i = 0; i < m; i++)
       for (int j = 0; j < n; j++)
  
          // Prints ' ' if j != n-1 else prints '\n'          
          cout << mat[i][j] << " \n"[j == n-1];
  
    return 0;
}

输出:

1 2 3
4 5 6

实际技巧在下面的语句“ \ n” [j == n-1]中,说明如下:

” \ n”是2,其中1字符是空间和第2字符是换行,所以我们想除了最后的每个值之后空间为此我们需要一个新行。在C语言中,字符串文字被视为字符数组[有关更多详细信息,请参字面量内容。

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”