Cho một mảng 2d gồm n * n và nhiệm vụ là tìm cách sắp xếp ngược chiều của ma trận đã cho
Input : arr[4][4]={1,2,3,4, 5,6,7,8, 9,10,11,12 13,14,15,16} Output : 1 6 11 16 4 7 10 13
Thuật toán
START Step 1 -> declare start variables as r=4, c=4, i and j Step 2 -> initialize array as mat[r][c] with elements Step 3 -> Loop For i=0 and i<r and i++ Print mat[i][j] Step 4 -> print \n Step 5 -> Loop For i=0 and i<r and i++ Print mat[i][4-1-i] End STOP
Ví dụ
#include<iostream> #include <bits/stdc++.h> using namespace std; int main() { int R=4,C=4,i,j; int mat[R][C] = { {1,2,3, 4}, {5,6,7,8},{9,10,11,12},{13,14,15,16}}; for(i=0;i<R;i++) { cout<<mat[i][i]<<" "; } cout<<"\n"; for(i=0;i<R;i++) { cout<<mat[i][4-1-i]<<" "; } }
Đầu ra
nếu chúng ta chạy chương trình trên thì nó sẽ tạo ra kết quả sau
1 6 11 16 4 7 10 13