If you have any query feel free to chat us!
Happy Coding! Happy Learning!
Spiral printing a matrix means printing the elements in a spiral pattern, starting from the top-left corner and moving in a clockwise direction.
To achieve this, we use four variables to keep track of the current boundaries of the spiral:
top
: The topmost row index.bottom
: The bottommost row index.left
: The leftmost column index.right
: The rightmost column index.We start by printing the elements in the top row from
left
toright
. Then, we incrementtop
to move down to the next row and print the elements in the rightmost column fromtop
tobottom
. Next, we decrementright
to move to the left column and print the elements in the bottom row fromright
toleft
. Finally, we incrementleft
to move to the right column and print the elements in the leftmost column frombottom
totop
. We repeat these steps until we have printed all the elements in the matrix.Here's the C++ code to perform spiral printing on a given matrix:
cppCopy code
#include <iostream> #include <vector> void spiralPrintMatrix(std::vector<std::vector<int>>& matrix) { int rows = matrix.size(); int cols = matrix[0].size(); int top = 0; int bottom = rows - 1; int left = 0; int right = cols - 1; while (top <= bottom && left <= right) { // Print top row for (int i = left; i <= right; i++) { std::cout << matrix[top][i] << " "; } top++; // Print rightmost column for (int i = top; i <= bottom; i++) { std::cout << matrix[i][right] << " "; } right--; // Print bottom row (if applicable) if (top <= bottom) { for (int i = right; i >= left; i--) { std::cout << matrix[bottom][i] << " "; } bottom--; } // Print leftmost column (if applicable) if (left <= right) { for (int i = bottom; i >= top; i--) { std::cout << matrix[i][left] << " "; } left++; } } } int main() { std::vector<std::vector<int>> matrix = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; spiralPrintMatrix(matrix); return 0; }
Example Output:
Copy code
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
In this code, the
spiralPrintMatrix
function performs the spiral printing on the given matrix. The time complexity of this approach is O(rows * cols), where rows and cols are the dimensions of the matrix.
I bought this course, it worth it!
Hi i want to buy this course but you dont have master card payment method please let me know how i can buy it
Dear mk.info.work, Now we have all types of payment options. If you need to purchase just checkout our official website
Quick answers to common questions about our courses, quizzes, and learning platform
SCIAKU Team please upload 1st video of TREE please please please, please