Dạng bài tập về vẽ hình bằng số

Đề bài: 
Viết chương trình nhập vào n và in ra hình theo quy luật
INPUT
5
OUTPUT
1 2 3 4 5
2 1 2 3 4
3 2 1 2 3
4 3 2 1 2
5 4 3 2 1
Giải:


#include<iostream>
using namespace std;
int a[100][100];
int n;
int d = 1;
int r = 0;
void input() {
 cin >> n;
}

void output() {
 while(r<n) {
  for(int i = r; i < n-r-1; i++) {
   a[r][i] = d++;
  }
  for(int i = r; i < n-r-1; i++) {
   a[i][n-r-1] = d--;
  }
  for(int i = n-r-1; i >= r+1; i--) {
   a[n-r-1][i] = d++;
  }
  for(int i = n-r-1; i>= r+1; i--) {
   a[i][r] = d--;
  }
  r++;
 }
 if(n % 2 != 0) {
  a[n/2][n/2] = 1;
 }
 for(int i = 0; i < n; i++) {
  for(int j = 0; j < n; j++)
   cout << a[i][j] << " ";
  cout << endl;
 }
}
int main() {
 input();
 output();
}

Nhận xét

Bài đăng phổ biến từ blog này

Đổi chỗ chữ số đầu tiên và chữ số cuối cùng của một số

Chuyển đơn vị đo nhiệt độ C và F

Tìm số đẹp (lộc phát)