Sunday, December 31, 2023

Chương trình C vẽ tam giác Pascal

Bài tập: Viết chương trình C để vẽ một tam giác Pascal.

Tam giác Pascal có qui tắc sau:

Tất cả các giá trị bên ngoài tam giác được xem như là 0.

Hàng đầu tiên sẽ là 0 1 0, trong đó chỉ có giá trị 1 có được một khoảng trống trong tam giác Pascal, còn 0 là không nhìn thấy.

Hàng thứ hai được tạo bằng cách cộng hai số liên tiếp nhau từ hàng thứ nhất: (0 + 1) và (1 + 0).

Các hàng còn lại cũng được tạo bằng cách cộng như trên. Ví dụ với hàng thứ ba là cộng các số liên tiếp nhau từ hàng thứ hai: (0 + 1), (1 + 1) và (1 + 0).





Từ các qui tắc trên, trước hết chúng ta viết một hàm để tính các giá trị của tam giác Pascal bằng cách sử dụng đệ qui (bạn có thể sử dụng cách khác). Trong hàm main(), chúng ta sẽ sử dụng ba vòng lặp. Một vòng lặp bên ngoài để điều khiển số hàng. Hai vòng lặp bên trong: một vòng lặp để in khoảng trống và một vòng lặp để in giá trị.



Bài giải gợi ý:

#include<stdio.h>


int factorial(int n) {
   int f;
   
   for(f = 1; n > 1; n--)
      f *= n;
      
   return f;
}

int ncr(int n,int r) {
   return factorial(n) / ( factorial(n-r) * factorial(r) );
}

int main() {
   int n, i, j;

   n = 5;

   printf("Ve tam giac Pascal:\n\n");
   for(i = 0; i <= n; i++) {
      for(j = 0; j <= n-i; j++)
         printf("  ");
         
      for(j = 0; j <= i; j++)
         printf(" %3d", ncr(i, j));

      printf("\n");
   }
   return 0;
}

Kết quả:









Chương trình C vẽ tam giác Floyd

Bài tập: Viết chương trình C để vẽ một tam giác Floyd.

Tam giác Floyd là một tam giác vuông được tạo từ các số tự nhiên. Các số trong tam giác Floyd có giá trị tăng dần. Dưới đây là hình minh họa cho tam giác Floyd đơn giản gồm các số từ 1 tới 10.

Vẽ tam giác Floyd trong C

Với bài tập C này, chúng ta sử dụng hai vòng lặp: vòng lặp bên ngoài điều khiển số hàng, vòng lặp bên trong để in giá trị các số tăng dần.


Bài giải gợi ý:

#include<stdio.h>


int main() {
   int n,i,j,k=1;

   n = 5;

   printf("Ve tam giac Floyd:\n\n");
   for(i = 1; i <= n; i++) {
      for(j=1;j <= i; j++)
         printf("%3d", k++);

      printf("\n");
   }
   
   return 0;
}

Kết quả:






Chương trình C vẽ tam giác vuông cân phần 3

Bài tập: Viết chương trình C để vẽ một tam giác vuông cân từ những dấu hoa thị. Thỏa mãn điều kiện: 

  • Một cạnh góc vuông nằm cạnh cạnh trái màn hình.
  • Cạnh góc vuông còn lại nằm phía trên màn hình.


Bài giải gợi ý:

#include<stdio.h>


int main() {
   int n, i, j;

   n = 5;

   printf("Ve tam giac sao vuong can:\n\n");
   for(i = n; i >= 1; i--) {
      for(j = 1; j <= i; j++)
         printf("* ");

      printf("\n");
   }
   
   return 0;
}

Kết quả:





Chương trình C vẽ tam giác vuông cân phần 2

Bài tập: Viết chương trình C để vẽ một tam giác vuông cân từ những dấu hoa thị. Thỏa mãn điều kiện: 

  • Cạnh huyền nằm về phía trái màn hình.


Bài giải gợi ý:

#include<stdio.h>


int main() {
   int n,i,j;

   n = 5;

   printf("Ve tam giac hoa thi vuong can:\n\n");
   for(i = 0; i < n; i++) {
      for(j=0; j<i; j++)
         printf("  "); 

      for(j=i; j < n; j++)
         printf(" *");

      printf("\n");
      
   }
   
   return 0;
}

Kết quả:



Chương trình C vẽ tam giác vuông cân

Bài tập: Viết chương trình C để vẽ một tam giác vuông cân từ những dấu hoa thị. Thỏa mãn điều kiện: 

  • Đỉnh nằm phía trên màn hình
  • Cạnh góc vuông bên cạnh trái màn hình và cạnh góc vuông còn lại nằm ở phần dưới màn hình.


Bài giải gợi ý:

#include<stdio.h>


int main() {
   int n,i,j;

   n = 5;

   printf("Ve tam giac hoa thi vuong can:\n\n");
   for(i = 1; i <= n; i++) {
      for(j = 1; j <= i; j++)
         printf("* ");

      printf("\n");
   }
   return 0;
}

Kết quả:











Bạn sử dụng Online C Compiler theo hướng dẫn tại Menu phía trên để test chương trình
.