Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm các thay đổi trong Đèn Led để hiển thị từng chữ số một trong C ++

Chúng tôi được cung cấp một số dương, giả sử là num và nhiệm vụ là tính toán số lần thay đổi trong các đèn Led hiển thị từng cái một. Chúng tôi sẽ giả định rằng ban đầu tất cả các đèn LED đều tắt và chúng sẽ được khởi động dựa trên giá trị chuỗi.

Để giải quyết câu hỏi này, chúng ta cần hiểu màn hình bảy phân đoạn là gì và hoạt động của nó.

Bảy màn hình phân đoạn là gì

Màn hình bảy đoạn là thiết bị hiển thị đầu ra cung cấp cách hiển thị thông tin dưới dạng hình ảnh hoặc văn bản hoặc số thập phân, một sự thay thế cho các màn hình ma trận điểm phức tạp hơn. Nó được sử dụng rộng rãi trong đồng hồ kỹ thuật số, máy tính cơ bản, đồng hồ đo điện tử và các thiết bị điện tử khác hiển thị thông tin số. Nó bao gồm bảy đoạn điốt phát sáng (đèn LED) được lắp ráp giống như số 8.

Đếm các thay đổi trong Đèn Led để hiển thị từng chữ số một trong C ++

Hoạt động của bảy màn hình phân đoạn

Số 8 được hiển thị khi cấp nguồn cho tất cả các phân đoạn và nếu bạn ngắt kết nối nguồn cho 'g', thì nó sẽ hiển thị số 0. Trong màn hình bảy phân đoạn, nguồn (hoặc điện áp) ở các chân khác nhau có thể được áp dụng tại đồng thời, vì vậy chúng ta có thể tạo tổ hợp hiển thị số từ 0 đến 9. Vì màn hình bảy phân đoạn không thể tạo thành bảng chữ cái như X và Z, vì vậy nó không thể được sử dụng cho bảng chữ cái và nó chỉ có thể được sử dụng để hiển thị độ lớn số thập phân. Tuy nhiên, bảy màn hình phân đoạn có thể tạo thành bảng chữ cái A, B, C, D, E và F, vì vậy nó cũng có thể được sử dụng để biểu diễn các chữ số thập lục phân.

Đếm các thay đổi trong Đèn Led để hiển thị từng chữ số một trong C ++

Ví dụ

Input − num = “123 ”
Output − count is 5

Giải thích - tổng số LED cần thiết để phát sáng 1 là 2, tổng số LED cần thiết để phát sáng 2 là 5 và tổng số LED cần để phát sáng 3 là 5. Vì vậy, tổng số thay đổi cần thiết khi hiển thị là - 5

Input − num = “576 ”
Output − count is 10

Giải thích - tổng số LED cần thiết để phát sáng 5 là 5, tổng số LED cần thiết để phát sáng 7 là 3 và tổng số LED cần thiết để phát sáng 6 là 6. Vì vậy, tổng số thay đổi cần thiết khi hiển thị là:10

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập chuỗi giá trị số nguyên xác định các số sẽ sáng lên

  • Tính độ dài của chuỗi đã cho bằng cách sử dụng hàm length () sẽ trả về một giá trị nguyên theo các chữ số trong chuỗi.

  • Tạo một mảng sẽ lưu trữ tất cả các giá trị LED.

  • Lấy một biến tạm thời, giả sử biến tạm thời sẽ lưu trữ giá trị.

  • Bắt đầu vòng lặp cho tôi đến 1 và tôi nhỏ hơn độ dài

  • Bên trong vòng lặp, đặt nhiệt độ bằng temp + abs ([LED [str [i] - ‘0’] - LED [n [i-1] - ‘0’]);

  • Trả lại số lượng

  • In kết quả.

Ví dụ

#include<iostream>
using namespace std;
int countled(string str){
   // number of LED required to display a digit
   int Led[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 5 };
   int len = str.length();
   // calculating the change
   int res = Led[str[0] - '0'];
   for (int i = 1; i < len; i++){
      res = res + abs(Led[str[i] - '0'] - Led[str[i - 1] - '0']);
   }
   return res;
}
int main(){
   string str = "123";
   cout <<"count is "<<countled(str);
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, chúng ta sẽ nhận được kết quả sau -

Số lượng
count is 5