Mô tả bài toán
Tạo ứng dụng Console, cho phép người dùng nhập vào số dòng cần inrows
. In ra màn hình 2 cách thể hiển của Tam giác Nhị phân như sau:
- Output không có định dạng:
Enter the Number of Rows : 5 1 01 010 1010 10101
- Output có định dạng khoảng cách:
Enter the number of lines: 5 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1
Cách giải quyết
- Cần tạo biến
row
để lưu trữ con số người dùng nhập. - Sử dụng vòng lặp
for loop
để duyệt từ1 -> row
, mỗi lần lặp in ra giá trị của Tam giác Nhị phân- Dòng 1: gồm 1 ký tự, bắt đầu là 1
- Dòng 2: gồm 2 ký tự, bắt đầu là ký tự trái ngược với ký tự gần kề trước đó
- Dòng 3: gổm 3 ký tự ...
- Dòng N: gồm N ký tự ...
Source code
[su_spoiler title="Bài giải (Nên nhớ tự làm trước khi click vào đây)"]/* C# Program to Print a Binary Triangle This is a C# Program to Print a binary triangle. Problem Description This C# Program Prints a Binary Triangle. Problem Solution Binary Triangle is a Triangle formed with 1’s and 0’s.Number of rows in the binary triangle is obtained from the user. */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lession5 { class Program { public static void Main(String[] args) { // Display Binary triangle BinaryTriangle(); // Display Binary triable with formated BinaryTriangleFormated(); } private static void BinaryTriangle() { int p, lastInt = 0, input; Console.Write("Enter the Number of Rows : "); input = int.Parse(Console.ReadLine()); for (int i = 1; i <= input; i++) { for (p = 1; p <= i; p++) { if (lastInt == 1) { Console.Write("0"); lastInt = 0; } else if (lastInt == 0) { Console.Write("1"); lastInt = 1; } } Console.Write("\n"); } Console.ReadLine(); } private static void BinaryTriangleFormated() { int i, j, k, numOfLines; Console.Write("Enter the number of lines:"); numOfLines = Convert.ToInt32(Console.ReadLine()); for (i = 1; i <= numOfLines; i++) { for (k = numOfLines - i; k >= 1; k--) { Console.Write(" "); } if (i % 2 != 0) { for (j = 1; j <= i; j++) { if (j % 2 == 0) { Console.Write("0 "); } else { Console.Write("1 "); } } } else if (i % 2 == 0) { for (j = 1; j <= i; j++) { if (j % 2 == 0) { Console.Write("1 "); } else { Console.Write("0 "); } } } Console.WriteLine(); } Console.ReadKey(); } } }[/su_spoiler]
Github
https://github.com/kellyfire611/learning.nentang.vn-csharp/blob/master/src/Lession5/Program.csMục lục
Chương trình học
- Cài đặt môi trường Lập trình C# 2
-
Nhập môn Lập trình C#
18
- Giới thiệu ngôn ngữ lập trình C# #323
- Cấu trúc chương trình C# #166
- Cú pháp cơ bản C# #238
- Các kiểu dữ liệu trong C# #240
- Chuyển đổi kiểu dữ liệu trong C# #245
- Khởi tạo biến trong C# #247
- Hằng số trong C# #249
- Toán tử trong C# #251
- Điều kiện trong C# #253
- Vòng lặp trong C# #262
- Tính bao đóng trong C# #274
- Tạo phương thức/hàm trong C# #276
- Đối tượng Nullable trong C# #280
- Mảng trong C# #283
- Chuỗi trong C# #349
- Cấu trúc trong C# #351
- Enums trong C# #353
- Truyền Tham số Reference hay Tham trị (Value) trong C# #10172
-
Hướng đối tượng trong C#
12
- Class trong C# #355
- Kế thừa trong C# #359
- Tính đa hình trong C# #361
- Nạp chồng toán tử trong C# #534
- Giao diện (Interface) trong C# #537
- Namespace trong C# #540
- Các lệnh tiền xử lý trong C# #543
- Biểu thức chính quy (Regular) trong C# #726
- Bắt các lỗi/ngoại lệ (Exception) trong C# #730
- Xử lý Đọc/Ghi File trong C# #732
- LINQ trong C# #7805
- Mã hóa (Encryption) và Giải mã (Decryption) trong C# #11880
- Các kỹ thuật nâng cao trong C# 2
-
Bài tập thực hành
28
- Khai báo các Kiểu dữ liệu cho Mẫu Lý lịch A2 và Mẫu Hóa đơn Bán hàng #7703
- Sử dụng các Toán tử cơ bản trong C# #7704
- Kiểm tra số chẵn hay lẻ #171
- Thay đổi vị trí của 2 phần tử #175
- Tính tổng các kí tự số #224
- Đảo ngược con số #229
- Tạo chương trình ATM đơn giản #466
- Tạo chương trình ATM đơn giản với các phương án rút tiền theo các mệnh giá #477
- Tìm số Max, Min trong mảng 2 chiều #480
- Tạo cấu trúc lưu trữ thông tin Nhân viên #654
- Làm quen Hướng đối tượng trong C# #661
- Mã hóa chuỗi với Hacker Speak (H4ck3rSp34k) #681
- Mã hóa chuỗi với Alternating Captions (AlTeRnAtInG_CaPs) #683
- Tính tổng 2 số nhỏ nhất trong danh sách #689
- Trích xuất thông tin từ dữ liệu trong FILE TEXT #760
- In bảng cửu chương #7747
- In tam giác Nhị phân #7749
- In tam giác Số ký tự #7751
- Đếm số 1 #7754
- Sử dụng Mảng 2 chiều để in tên dạng Asterisk ra màn hình #7761
- Sử dụng Mảng 1 chiều để phân tách Tên với khoảng cách #7765
- Bài tập Biểu thức Chính quy (Regular Expression) #7779
- Ghi log lỗi với File và Try Catch #7795
- Ghi Access log #7796
- LINQ group by tên tập tin #7812
- LINQ với collection #7822
- Tạo chương trình Quản lý Danh sách Sinh viên và Giảng viên #8554
- Bài tập tạo các CLASS OOP C# căn bản 1 #11842
- Kiểm tra kiến thức 1
- Kiểm tra kiến thức - Đồ án 4
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Cài đặt môi trường Lập trình C# 2
-
Nhập môn Lập trình C#
18
- Giới thiệu ngôn ngữ lập trình C# #323
- Cấu trúc chương trình C# #166
- Cú pháp cơ bản C# #238
- Các kiểu dữ liệu trong C# #240
- Chuyển đổi kiểu dữ liệu trong C# #245
- Khởi tạo biến trong C# #247
- Hằng số trong C# #249
- Toán tử trong C# #251
- Điều kiện trong C# #253
- Vòng lặp trong C# #262
- Tính bao đóng trong C# #274
- Tạo phương thức/hàm trong C# #276
- Đối tượng Nullable trong C# #280
- Mảng trong C# #283
- Chuỗi trong C# #349
- Cấu trúc trong C# #351
- Enums trong C# #353
- Truyền Tham số Reference hay Tham trị (Value) trong C# #10172
-
Hướng đối tượng trong C#
12
- Class trong C# #355
- Kế thừa trong C# #359
- Tính đa hình trong C# #361
- Nạp chồng toán tử trong C# #534
- Giao diện (Interface) trong C# #537
- Namespace trong C# #540
- Các lệnh tiền xử lý trong C# #543
- Biểu thức chính quy (Regular) trong C# #726
- Bắt các lỗi/ngoại lệ (Exception) trong C# #730
- Xử lý Đọc/Ghi File trong C# #732
- LINQ trong C# #7805
- Mã hóa (Encryption) và Giải mã (Decryption) trong C# #11880
- Các kỹ thuật nâng cao trong C# 2
-
Bài tập thực hành
28
- Khai báo các Kiểu dữ liệu cho Mẫu Lý lịch A2 và Mẫu Hóa đơn Bán hàng #7703
- Sử dụng các Toán tử cơ bản trong C# #7704
- Kiểm tra số chẵn hay lẻ #171
- Thay đổi vị trí của 2 phần tử #175
- Tính tổng các kí tự số #224
- Đảo ngược con số #229
- Tạo chương trình ATM đơn giản #466
- Tạo chương trình ATM đơn giản với các phương án rút tiền theo các mệnh giá #477
- Tìm số Max, Min trong mảng 2 chiều #480
- Tạo cấu trúc lưu trữ thông tin Nhân viên #654
- Làm quen Hướng đối tượng trong C# #661
- Mã hóa chuỗi với Hacker Speak (H4ck3rSp34k) #681
- Mã hóa chuỗi với Alternating Captions (AlTeRnAtInG_CaPs) #683
- Tính tổng 2 số nhỏ nhất trong danh sách #689
- Trích xuất thông tin từ dữ liệu trong FILE TEXT #760
- In bảng cửu chương #7747
- In tam giác Nhị phân #7749
- In tam giác Số ký tự #7751
- Đếm số 1 #7754
- Sử dụng Mảng 2 chiều để in tên dạng Asterisk ra màn hình #7761
- Sử dụng Mảng 1 chiều để phân tách Tên với khoảng cách #7765
- Bài tập Biểu thức Chính quy (Regular Expression) #7779
- Ghi log lỗi với File và Try Catch #7795
- Ghi Access log #7796
- LINQ group by tên tập tin #7812
- LINQ với collection #7822
- Tạo chương trình Quản lý Danh sách Sinh viên và Giảng viên #8554
- Bài tập tạo các CLASS OOP C# căn bản 1 #11842
- Kiểm tra kiến thức 1
- Kiểm tra kiến thức - Đồ án 4
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!