Рубрики

Вывести 2D матрицу в разные строки и без фигурных скобок в C / C ++?

Ниже приведен общий способ печати 2D-матрицы, при котором каждая строка печатается в виде отдельных строк.

for (int i = 0; i < m; i++)

{

   for (int j = 0; j < n; j++)

   {

      cout << arr[i][j] << " ";

   }

     

   // Новая строка для новой строки

   cout << endl;

}

Как напечатать печать без использования фигурных скобок для петель?

Мы настоятельно рекомендуем вам свернуть браузер и попробовать это в первую очередь.

Мы можем просто удалить внутреннюю фигурную скобку, так как для цикла есть единственная внутренняя строка. Как убрать наружные фигурные скобки? Ниже решение.

// C ++ программа для печати матрицы построчно без
// используя фигурные скобки.
#include<iostream>

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++)

  

          // Печатает '', если j! = N-1, иначе печатает '/ 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 строковые литералы обрабатываются символьными массивами [см. Это для более подробной информации].

J == N-1 оператор оценивается в 0 для внутренних элементов (потому что для них J

Рекомендуемые посты:

Вывести 2D матрицу в разные строки и без фигурных скобок в C / C ++?

0.00 (0%) 0 votes